7

我为某种机器编写了一个 HMI(人机界面)程序。该程序在带有“Windows Standard Embedded 7”的触摸面板上运行。我想它是 Windows 7 的嵌入式版本对我的问题没有任何影响。

  • 我的WindowState程序的主窗体设置为Normal,大小设置为匹配触摸屏的分辨率(1280x800)。
  • FormBorderStyle设置None为 。
  • StartPosition设置CenterScreen为。

问题是:

  • 当直接在触摸屏上启动程序时,程序会按原样显示,从上/左到右/下完全填满屏幕。还行吧!

  • 当程序未运行并且您通过远程桌面(使用更大的屏幕,例如 1920x1200)登录触摸面板,然后启动程序(通过 rdp 会话)时,程序也按预期启动,如中间所示尺寸为 1280x800 的屏幕。还行吧!

  • 当通过 rdp 登录时,程序已经在运行,程序显示为最大化,填满整个屏幕 (1920x1200)。这不好,因为我的程序的整个布局都是为 1280x800 制作的!

有谁知道我的程序为什么会这样,或者问题是否与 rdp 会话有关?

4

1 回答 1

1

这可能是由于系统试图保持相对于屏幕边框的窗口布局。我已经在一些应用程序中注意到了这一点。如果应用程序没有最大化,但在 RDPing 之后以更大的分辨率占用 100% 的屏幕宽度,它会保持 100%。

如果您想防止这种情况发生,您可以尝试在 Form 构造函数中将表单设置MinimumSize和属性设置MaximumSize为 1280x800。它应该工作

于 2013-06-10T17:55:34.577 回答