无法更改当前光标

用户名

以下代码测试了我的连接。连接超时设置为30秒。我想将当前的Cursor更改为waitcursor,但是它不起作用。

我的代码:

private void pbConnectionTest_Click(object sender,EventArgs e) {
    try {
        Cursor.Current = Cursors.WaitCursor;
        Thread thread = new Thread(new ThreadStart(TestConnection));
        thread.Start();
    } finally {
        Cursor.Current = Cursors.Default;
    }

我还尝试在我的函数TestConnection中处理Cursor。但是在那儿它不起作用。

此示例可以正常工作:

Cursor.Current = Cursors.WaitCursor;
try
{
  Thread.Sleep(5000);  // wait for a while
}
finally
{
  Cursor.Current = Cursors.Default;
}

我究竟做错了什么?

拉杰夫

以下代码是错误的(逻辑上)。

finally 
{             
    Cursor.Current = Cursors.Default;
}

这里发生的是

  1. 光标将更改为等待光标。
  2. 线程将被启动,并且立即将游标再次更改为默认值(线程完成之前)。

因此,您应该在线程完成后放置以下语句。

        Cursor.Current = Cursors.Default;

在这里您应该知道的是,该调用thread.Start();将立即返回。(无需等待线程完成)

解决方案1finally块中删除语句,然后执行以下操作。

void TestConnection()
{
    ..............
    ..................


   this.Invoke(new MethodInvoker(() =>
   {
        Cursor = Cursors.Default;
   }));   
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在python中更改当前工作目录

来自分类Dev

Capistrano创建任务以更改当前符号链接

来自分类Dev

需要更改当前链接的背景颜色

来自分类Dev

使用节点更改当前目录

来自分类Dev

如何更改当前所选菜单项的颜色?

来自分类Dev

更改当前选定字段的颜色

来自分类Dev

根据条件在C#中更改当前gameObject的位置

来自分类Dev

如何使用AppleScript更改当前工作目录

来自分类Dev

更改当前按钮元素的类别

来自分类Dev

如何更改当前工作目录

来自分类Dev

如何更改当前工作目录?

来自分类Dev

更改当前日期时间格式

来自分类Dev

更改当前分支并保留本地更改

来自分类Dev

如何更改当前日期

来自分类Dev

使用NERDTree更改当前目录

来自分类Dev

更改当前目录的脚本(cd,pwd)

来自分类Dev

使用脚本(ksh)更改当前目录

来自分类Dev

PHP更改当前站点的语言

来自分类Dev

更改当前选定字段的颜色

来自分类Dev

无法更改当前学年的下拉列表中的选定值

来自分类Dev

如何更改当前链接的样式

来自分类Dev

如何更改当前链接的字体颜色

来自分类Dev

无法更改当前图块

来自分类Dev

更改当前日期时间格式

来自分类Dev

更改当前模式的会话

来自分类Dev

Eclipse更改当前文件

来自分类Dev

从班级更改当前视图的最佳实践

来自分类Dev

Python 更改当前 tkinter 文本

来自分类Dev

如何使用 Javascript 更改当前时间