当前位置: 首页 > 编程语言 > C#

MenuStrip和ToolStrip的“红叉”问题分享

时间:2023-04-10 11:38:20 C#

MenuStrip和ToolStrip出现“红叉”问题,但是MenuStrip和ToolStrip都显示为空白的白色背景,上面有一个红叉,作为自定义控件如果您创建一个空对象。当我调试时不会发生这种情况,我不知道如何重现该问题,但它确实发生了。我想知道是否有人知道可能是什么问题?它是.NET框架的一个版本吗?谢谢这在GDI+问题(“DeathRedX”)中很常见。你在OnPaint中做任何自定义绘图吗?或者图形资源或字形可能已损坏或处理不当。编辑:我重新阅读了你的问题。你似乎只在其中一台机器上有这个。我在谷歌上搜索了一下,然后偶然发现了这个旧线程。底部的帖子表明虚拟内存可能存在问题:我们设法解决了这个问题-我们在运行嵌入式XP的设备上看到了这个问题。XPe图像开发人员关闭了虚拟内存,一旦我们打开它,问题就消失了。我认为这只是系统显示图形内存不足的症状(特别是如果您使用大量双缓冲)希望对您有所帮助。对我来说这听起来像是内存不足异常的症状。编辑:有时会导致System.InvalidOperationException:BufferedGraphicsContext您是否尝试从GUI线程以外的线程更新GUI控件?将跨线程操作与吞噬所有内容的异常处理程序相结合,我们在我维护的应用程序中描述了您的行为(在网格控件上,而不是菜单栏上)。最终这听起来像是一个跨线程问题。确保在从主UI线程以外的线程访问控件和/或触发事件时使用Invoke。这只有拥有我们产品的1000多台计算机中的一台才能看到。在那台计算机上,我看到一个.NET3.5程序偶尔会在其数据网格上显示一个红色的X。另一个更简单的.NET2.0程序在其menuStrip上有一个红色的X。我只有简单程序的源代码,但我可以看出根本没有影响该组件的用户代码。没有跨线程的东西,因为它没有被更新。其内容在开发时设置,并在程序加载时添加一个项目。程序加载后,RedX故障正常。我很惊讶地发现两个不同的框架和一个没有数据绑定的程序存在问题。我非常希望计算机关闭虚拟内存。如果没有,我们将不胜感激有关.NET2.0和.NET3.5中共享的系统部分的任何指导。UPDATE:有问题的用户退出电脑换机(问题解决)以上就是我在C#学习教程:MenuStrip和ToolStrip上的“红十字”问题分享的全部内容,如果对大家有用需要的话了解更多C#学习教程,希望大家多多关注—本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: