首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更改表单时,将光标从等待更改为默认不起作用

更改表单时,将光标从等待更改为默认不起作用
EN

Stack Overflow用户
提问于 2012-01-17 17:32:51
回答 2查看 622关注 0票数 0

我们有一个Windows Mobile6项目,已经启动并运行了两年。

当开发一个新版本时,光标的变化已经停止了我们的一些设备上的工作。

最有问题的地方是当改变表单的时候。代码基本上是:

代码语言:javascript
复制
Cursor.Current = Cursors.WaitCursor;            
ShowForm(FormSettings);
FormSettings.ReInit();
Cursor.Current = Cursors.Default;

WaitCursor将出现,但永远不会消失。

在调试时,我可以清楚地看到所有代码行都被执行了,在最后一条语句之后,我可以在"watch“或"Immediate”窗口中检查Cursor.Current的值,并看到它明确地设置为Cursors.Default (或者更确切地说,是Cursor.Default的值-带“箭头”的东西)。

更多信息:

如果我在FormSettings.ReInit()的末尾添加一个MessageBox.Show(""),光标将消失/变成Cursors.Default。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-04-27 21:08:52

此问题的解决方案是处理窗体代码中的所有光标更改。

即使在另一种方法中,也不确定为什么有一半的方法可以工作,但现在它都工作了。

票数 0
EN

Stack Overflow用户

发布于 2012-01-18 01:58:46

当您的某个例程中存在未处理的异常时,就会发生这种情况。

如果未引发异常,则该异常将在线程化例程、LINQ查询或窗体的InitializeComponent()节中发生。

要找回您的Cursor,请执行以下操作:

代码语言:javascript
复制
Cursor.Current = Cursors.WaitCursor;
try {
  ShowForm(FormSettings);
  FormSettings.ReInit();
} finally {
  Cursor.Current = Cursors.Default;
}

但是,您在ShowFormReInit()中的某个地方遇到了问题。您应该转到这些例程并在其中添加一个try...catch,直到您对其进行排序。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8892277

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档