【发布时间】:2013-06-11 01:55:34
【问题描述】:
我为某种机器编写了一个 HMI(人机界面)程序。 该程序在带有“Windows Standard Embedded 7”的触摸面板上运行。 我想它是 Windows 7 的嵌入式版本对我的问题没有影响。
- 我的程序主窗体的
WindowState设置为Normal,大小设置为匹配触摸屏的分辨率(1280x800)。 -
FormBorderStyle设置为None。 -
StartPosition设置为CenterScreen。
问题是:
直接在触摸屏上启动程序时,程序会按原样显示,从上/左到右/下完全填满屏幕。还行吧!
当程序未运行并且您通过远程桌面登录到触摸面板(使用更大的屏幕,比如 1920x1200),然后启动程序(通过 rdp 会话)时,程序也启动为预期,显示在屏幕中间,尺寸为 1280x800。还行吧!
当通过 rdp 登录时,程序已经在运行,程序显示为最大化,填满整个屏幕 (1920x1200)。这不好,因为我的程序的整个布局都是为 1280x800 制作的!
有谁知道我的程序为什么会这样,或者这个问题与 rdp 会话有什么关系?
【问题讨论】:
-
有趣的测试:当您 RDP 到已经运行的应用程序时,
SizeChanged事件是否会触发?如果是这样..您可以订阅并重新调整表格大小.. -
欢迎来到 StackOverflow!我冒昧地修改了你的帖子,以便它更好地使用格式化的东西。您可以通过单击我名字上方的时间来查看我修改的内容。如果您觉得您的帖子更好,或者您想进一步改进/更改它,请点击左侧的
edit按钮进行修改。 -
谢谢你的cmets/欢迎。
-
哦,点击 ENTER 立即发表评论...我将 rdp 连接的速度设置从低带宽更改为更高,现在问题消失了。不幸的是,我无法重现该问题,因为将带宽再次设置为低时不会再次发生。我将在到达触摸面板后立即重新启动它(面板安装在其他位置)以尝试重现该问题。
-
您是否尝试过在本地运行程序并在它已经运行时更改桌面分辨率?出现问题了吗?
标签: c# winforms remote-desktop