代码之家  ›  专栏  ›  技术社区  ›  Simon

WinForms应用程序中不需要的等待光标

  •  0
  • Simon  · 技术社区  · 15 年前

    我有一个MDI WinForms应用程序,其中MDI父窗体有一个工具条、菜单条和状态条。每当鼠标移动到其中一个控件上时,光标将变为“等待”光标(带有沙漏的箭头)。这似乎是默认行为,因为没有代码可以实现这一点。ToolStrip和MenuStrip的UseWaitCursor属性均为假;StatusStrip不具有此属性。

    这在调试和发布版本中都会发生,并且会让那些认为应用程序正在“做”某件事情的用户感到困惑,而事实并非如此!

    有人知道是什么导致了这一切的发生,更重要的是如何让它停止?

    4 回复  |  直到 15 年前
        1
  •  3
  •   MattH    15 年前

    听起来它一定是在属性表中被更改了,如果您已经检查了自己的代码,建议检查designer.cs。

    如果不成功,做些挖掘。尝试在窗体上运行以下提取,并查看它是否返回任何结果:

    var theCulprit = this.Controls.Cast<Control>().Where(ctrl => ctrl.UseWaitCursor);
    
        2
  •  0
  •   Meta-Knight    15 年前

    这三个控件具有一个光标属性,当鼠标悬停在控件上时,该属性会更改光标的外观。确保此属性设置为默认值,并且代码中没有更改。

        3
  •  0
  •   Beth    15 年前

    我在我的MDI应用程序中没有看到相同的东西。 尝试创建一个新项目,只添加那些控件,然后运行。 如果没有光标出现,则会发生其他事情。

    高温高压

        4
  •  0
  •   Simon    15 年前

    愚蠢的我。我在finally语句中有一行不需要的代码,将光标设置为appstarting。