-->

在MenuStrip中和ToolStrip的“红十字会”的问题(“Red Cross” proble

2019-06-23 08:59发布

我有一个软件已经能正常工作在很多机器上,althoughon一体机存在,似乎occasionaly出现问题,MenuStrip中和的ToolStrip都显示为空白白色背景的红色叉它,作为一个自定义的控制想,如果你创建了一个空对象。 这不会发生,而我调试,我不知道如何使这一问题再次出现,但它确实发生了。 我想知道是否有人知道可能是什么问题呢?

难道是.NET Framework的版本?

谢谢

Answer 1:

这是一个普遍的现象时,有一个GDI +问题(“死亡红X”)。 你在做任何自定义绘制OnPaint ? 或者,也许有一个图形资源或字形时已损坏或被处置不当。

编辑:我重读你的问题。 你似乎有这个只在一台机器。 我GOOGLE了一下周围的这一点,我偶然发现了这个古老的线程 。 底部的职位表明,与虚拟内存关闭有可能是一个问题:

我们还是设法解决这个问题 - 我们运行嵌入式XP的设备上看到的问题。 该XPe的显像器已经关闭虚拟内存,一旦我们把它的问题就走了。 我相信这是只是运行内存,系统的症状显示图形(或许特别是如果你使用了大量的双缓冲)

希望帮助。



Answer 2:

听起来像一个症状内存溢出异常给我。

编辑:这有时会导致到System.InvalidOperationException: BufferedGraphicsContext



Answer 3:

你是不是想从非GUI线程的线程上更新GUI控件? 与吞噬一切,我们有你描述(在网格控制,而不是一个的MenuStrip栏)上的应用程序,我维护的行为异常处理程序结合起来,横纱操作。



Answer 4:

明确听起来像一个跨线程问题。

确保当访问控制和/或从一个线程是不是在主UI线程触发事件您使用调用。



Answer 5:

见此情景发生的超过1000有我们班产品只是一台计算机上。 在一台计算机,我看到了.NET 3.5程序偶尔表现出它的DataGrid中的红色的X。 而另一个更简单的.NET 2.0程序发布后的MenuStrip中红色的X。 我只有简单的程序源代码,但我可以说,是不是所有影响该组件的所有用户代码。 没有跨线程的东西,因为没有对其进行更新。 有一个项目添加到它在程序加载它的内容被设置在开发时。 程序加载后,红色的X失败的一致好评。

我很惊讶地看到在两个不同的框架,并在没有数据绑定一个程序问题。 我很一厢情愿希望计算机有它的虚拟内存关闭。

如果它不是那么跨.NET 2.0和.NET 3.5共享上的系统部件的任何指导,将不胜感激。

更新:有问题的用户退休的计算机并替换它(这解决了这个问题)



文章来源: “Red Cross” problem on MenuStrip and ToolStrip