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

时间:2009-07-14 13:30:21

标签: .net vb.net winforms

我有一个MDI WinForms应用程序,其中MDI父窗体有一个ToolStrip,MenuStrip和StatusStrip。只要将鼠标移动到其中一个控件上,光标就会变为“等待”光标(带有沙漏的箭头)。这似乎是默认行为,因为没有代码可以实现这一点。 ToolStrip和MenuStrip的UseWaitCursor属性都是false; StatusStrip没有此属性。

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

有谁知道造成这种情况的原因,更重要的是如何让它停止?

4 个答案:

答案 0 :(得分:3)

听起来它必须在属性表中进行了更改,如果您已经检查了自己的代码,建议检查designer.cs。

如果做不到,那就做一些挖掘。尝试在表单上运行以下提取,看看它是否返回任何结果:

var theCulprit = this.Controls.Cast<Control>().Where(ctrl => ctrl.UseWaitCursor);

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

HTH

答案 3 :(得分:0)

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