带有错误显示按钮的远程桌面应用程序

时间:2012-11-12 11:13:15

标签: c# winforms .net-4.0 remote-desktop

我在远程桌面应用程序中有一个winform,它是一个动态构建的容器面板,用于带有大(常规)按钮的工具栏。该应用程序在C#和.NET 4.0中编写。只有当我没有最大化窗口时才会查看应用程序(意味着恢复的视图很好)。

现在,在RDP登录后 - 在大多数客户端计算机中 - 应用程序看起来很好(即使我们最大化和恢复)。在低分辨率客户端计算机(800x600)中,工具栏上的按钮不会显示在正确的位置(例如1024x768客户端中)。

我使用了双缓冲,它没有帮助......问题可能会或可能不依赖于屏幕分辨率(可能是内存问题或其他问题)。这不是本地化布局的问题。

下图显示了罚款状态和错误状态:http://imgur.com/gO4UJ,v7O9K

我该怎么做才能解决这个问题?

1 个答案:

答案 0 :(得分:1)

好的,所以如果有人遇到这种情况,这就是造成这个问题的原因:

在表单中,有一个空的重绘覆盖。创建表单的程序员用一个空方法重写了重绘(不知道为什么,我想我会问我的团队的业务逻辑)。

我是如何在开发环境中重现它的?在Albin Sunnanbo的注释之后,我在初始化期间以最小化版本运行了RDP应用程序,并且我注意到在这个用例中也出现了大分辨率客户端...所以,我知道在执行窗口调整大小时会发生重绘 - 这让我感到惊讶对这种方法持怀疑态度......

==>在旁注中,我想这就是继承如此糟糕的原因,并且继续使用WPF更好。我花了3天时间才明​​白为什么会出现这个问题。