【问题标题】:Big red cross on varied controls各种控件上的大红十字
【发布时间】:2015-10-02 14:13:18
【问题描述】:

所以我们有一个应用程序,它的大小相当大,运行时平均占用 75,000kb 的内存(打开其他窗口时会上升和下降,但不会太多)。

最近,我们的支持团队接到了一些关于末日红十字会的电话,因为它被亲切地称为。

这出现在没有任何自定义的标准 WinForms 控件的控件上(它们也没有放置在任何自定义容器中)。

经过一些研究,我们发现它似乎只有在分配给该控件的绘制事件中发生异常时才会触发。但是,这些控件没有用于绘制的事件,这意味着它必须是底层的。

我们的思考过程是,这可能发生在内存非常低的系统上,但这有点像在黑暗中刺伤。支持这一理论的是这个问题是间歇性的。

数据网格视图上的《毁灭战士》大红十字

世界末日大红十字会无处不在

问题只是为了确认我们对内存问题的怀疑,或者给我们另一个理由,并希望有办法绕过它。

注意:-
我知道 WinForms 现在有点老了,并没有得到真正的支持,但是这个应用程序非常大,因此无法建议转换为 WPF 或其他任何东西。

【问题讨论】:

  • 发生这种情况时通常会出现异常...您是否尝试过设置全局异常处理程序以查看是否属于您的情况?
  • 不幸的是,我们无法真正复制它,因为我们的机器有大量内存。我们已经放置了一行代码,用于在触发时将异常文本写入隐藏文本文件,但是,这在接下来的几天内无法分发给我们的客户。
  • 这是静态缺陷吗?我的意思是-它是“自行发生”还是您可以将其追溯到某些用户操作(重新调整窗口大小)?这些客户端是否得到了正确的渲染?
  • 是的,他们确实得到了正确的渲染,如上所述,这是一个间歇性问题,发生的事情似乎是随机的(我知道不可能是这种情况)但不,我们无法将其追溯到用户到目前为止的行动。
  • 这些控件都没有使用 OwnerDraw?

标签: .net winforms paint


【解决方案1】:

我有时会遇到同样的问题,这导致 Visual Studio 的工具箱出现问题 - 一些引用是错误的。

我使用以下程序成功解决了这个问题:

1) Delete the project´s OBJ folder.
2) Delete the .SUO file.
3) Press BUILD - CLEAN
4) Press BUILD - BUILD SOLUTION (not rebuild)

如果这些都无法解决,请继续:

5) Delete the CONTROL in the Toolbox (one by one is easier);
6) Right-click in Toolbox and CHOOSE ITEMS in the same tab;
7) Locate the control/reference of this control in the window will appear (.NET Framework components for the default ones and BROWSE for any custom one)  and check it again.
8) If the control had disapeared from form, you need to put it again there.
9) Recompile again (BUILD - BUILD SOLUTION).

祝你好运。

【讨论】:

  • 抱歉,但如前所述,这只是客户机器上发生的问题。因此,我们无法在此处复制它,并且构建、重建和工具箱引用不会产生任何影响,因为它已经为我们工作了。
  • 所以,考虑到你的 cmets 和其他人的建议,并且考虑到 NET Framework 在用户机器上是可以的,你确实有一个与 MEMORY 相关的问题,特别是 WINDOWS RESOURCES 内存区域(总是太低比 RAM)。
  • 好的,这就是我们要走的路,只是想确认一下。我们正在寻找一个环境来复制它,因此可能会在不久的将来发布答案。非常感谢!
  • 不客气,我很遗憾未能如愿解决您的问题...祝您好运。
【解决方案2】:

当我使用 3rd 方软件并尝试在没有软件的显示依赖项的情况下显示表单时,这经常发生在我身上 - 不影响实际执行。

我认为该软件是 SAP Crystal Reporting...

【讨论】:

  • 这是一个我们正在开发的应用程序,所以不是第三方,我们已经检查了软件的显示依赖项,没有任何异常。
  • hmmmm,那我不太确定。祝你好运。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多