这是我们遇到过的最奇怪的事情。
我们正在用c#和Visual Studio 2010开发一个Windows窗体应用程序。主窗体包含一个停靠在底部的状态条控件。
当我们通过远程桌面或VNC服务器运行应用程序时,一旦应用程序窗口调整大小或最大化,状态条就会变成黑盒子。
我们真的没有主意了,欢迎大家提出任何建议。
我们发现它纯属偶然。
我们的表单包含一个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();
。