通过远程桌面查看时,表单最大化

时间:2013-01-22 08:25:48

标签: c# winforms remote-desktop

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

  • 我的程序主窗体的WindowState设置为Normal,并且尺寸设置为与触摸面板的分辨率(1280x800)相匹配。
  • FormBorderStyle设置为None
  • StartPosition设置为CenterScreen

问题是:

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

  • 当程序没有运行并且你通过远程桌面登录触摸屏时(有一个更大的屏幕,比方说1920x1200),那么启动程序(通过rdp会话)程序也会以预期,显示在屏幕中间,大小为1280x800。还行吧!

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

有没有人知道为什么我的程序表现得像这样,或者问题与rdp会话有什么关系?

1 个答案:

答案 0 :(得分:1)

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

如果您想阻止这种情况,请尝试在表单构造函数中将MinimumSizeMaximumSize表单设置为1280x800。它应该工作