我为某种机器编写了一个HMI(人机界面)程序。 该程序在带有“Windows Standard Embedded 7”的触摸面板上运行。 我想我的问题是它是Windows 7的嵌入式版本没有任何区别。
WindowState
设置为Normal
,并且尺寸设置为与触摸面板的分辨率(1280x800)相匹配。 FormBorderStyle
设置为None
。 StartPosition
设置为CenterScreen
。问题是:
当直接在触摸屏上启动程序时,程序将按原样显示,从顶部/左侧到右侧/底部完全填满屏幕。还行吧!
当程序没有运行并且你通过远程桌面登录触摸屏时(有一个更大的屏幕,比方说1920x1200),那么启动程序(通过rdp会话)程序也会以预期,显示在屏幕中间,大小为1280x800。还行吧!
通过rdp登录时程序已经运行程序显示为最大化,填满整个屏幕(1920x1200)。这不好,因为我的程序的整个布局是针对1280x800制作的!
有没有人知道为什么我的程序表现得像这样,或者问题与rdp会话有什么关系?
答案 0 :(得分:1)
这可能是系统试图保持相对于屏幕边框的窗口布局造成的。我在一些应用程序中注意到了这几次。如果应用程序没有最大化但是在RDPing之后以更高的分辨率占用屏幕宽度的100%,它会保持100%。
如果您想阻止这种情况,请尝试在表单构造函数中将MinimumSize
和MaximumSize
表单设置为1280x800。它应该工作