1

这是我们遇到过的最奇怪的事情。

我们正在使用 Visual Studio 2010 用 C# 开发一个 Windows 窗体应用程序。主窗体包含一个停靠在底部的状态条控件。

当我们通过远程桌面或通过 VNC 服务器运行我们的应用程序时,一旦应用程序窗口被调整大小或最大化,状态条就会变成一个黑框。

我们真的没有想法,所以任何建议都将受到欢迎。

4

1 回答 1

1

我们发现它纯属偶然。

我们的表单包含一个看起来像这样的 onResize 事件

    private void FormMain_SizeChanged(object sender, EventArgs e)
    {
        // blah, blah 


        // have the status bar refresh itself
        statusStrip.Refresh();            
    }

只要应用程序在“普通”机器上运行,这就会起作用。远程桌面或通过虚拟机上的 VNC 访问在第一次调整大小时将 statusStrip 变成一个黑框。

出于……只有大比尔本人才知道的宗教原因,转而statusStrip.Refresh();去做statusStrip.Invalidate();了。

于 2014-03-27T11:46:43.163 回答