当我们在读取数据的时候,或者处理大量数据的时候可能需要把鼠标设置为忙碌状态,等待返回结果。下面的代码可以帮忙实现这点:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Threading;namespace CursorThread
{public partial class Form1 : Form{public delegate int DoSomethingDelegate(int data);public Form1(){InitializeComponent();}static int DoSomething(int data){/// <sumary>/// Do something in this method/// </sumary>Thread.Sleep(300);return data++;}private void button1_Click(object sender, EventArgs e){this.Cursor = Cursors.Default;DoSomethingDelegate d = DoSomething;IAsyncResult ar = d.BeginInvoke(100,null, null);while (true){this.Cursor = Cursors.WaitCursor;if(ar.AsyncWaitHandle.WaitOne(50, false)){this.Cursor = Cursors.Arrow;break;}}//Get the resultint result = d.EndInvoke(ar);MessageBox.Show(result.ToString());}}
}
 

这样在点击鼠标后,鼠标会变成忙碌状态一直等待DoSomething这个方法调用结束,然后变回箭头状态。

当然你也可以这样:

// Set the status of the cursor
this.Cursor = Cursor.Busy;// Do Something// Set the status of the cursor
this.Cursor = Cursor.Arrow;

如果是在方法里面调用的话,不能使用this关键字,那你可以这样做:

private void Method()
{    Curosor.Current = Cursor.WaitCursor;/// Do SomethingCursor.Current = Cursor.Arrow;
}

转载于:https://www.cnblogs.com/herbert/archive/2010/07/29/1787968.html

利用多线程句柄设置鼠标忙碌状态相关推荐

  1. HTML中设置鼠标悬停状态伪类,四大伪类,css鼠标样式设置,reset操作,静止对文本操作...

    本文将要为您介绍的是四大伪类,css鼠标样式设置,reset操作,静止对文本操作,教程操作方法:07.31自我总结 一.a标签的四大伪类 a:link{样式} 未访问时的状态(鼠标点击前显示的状态) ...

  2. html如何设置鼠标选中状态,怎么用CSS 设置 当鼠标移动到菜单时,该按钮变色,鼠标点击后,页面停留在鼠标滑过时的状态!!很急!...

    用javascript就可以,基本代码在下面,你自己照着改吧 html head meta http-equiv=Content-Type content=text/html;charset = gb ...

  3. VC中利用多线程技术实现线程之间的通信

    当前流行的Windows操作系统能同时运行几个程序(独立运行的程序又称之为进程),对于同一个程序,它又可以分成若干个独立的执行流,我们称之为线程,线程提供了多任务处理的能力.用进程和线程的观点来研究软 ...

  4. java定时任务中使用多线程_java项目中如何利用多线程实现一个定时器任务

    java项目中如何利用多线程实现一个定时器任务 发布时间:2020-11-10 16:04:03 来源:亿速云 阅读:86 作者:Leah 今天就跟大家聊聊有关java项目中如何利用多线程实现一个定时 ...

  5. axure中交互样式设置鼠标悬停后其他的按下选中无效_Axure交互动作

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 axure中交互样式设置鼠标悬停后其他的按下选中无效_交互区域 -- 交互动作 启用情形+交互事件+交互动作 三个部分构成了整个原型的交互逻辑.启用情形是 ...

  6. python利用多线程批量下载高清美女图片(350秒下载近3600张1.2个G的照片,地址可变)

    目录 第一章.前言 1.1.实现的效果: 1.2.需要用到的库: 第二章.代码分块讲解 2.1.对象的定义和初始化 2.2.方法1和2获取所有图集链接 2.2.1. 对应网站结构 2.2.2 .相应代 ...

  7. css中设置鼠标形状的函数,css怎样设置鼠标的形状

    css怎样设置鼠标的形状 发布时间:2020-11-13 10:10:40 来源:亿速云 阅读:91 作者:小新 小编给大家分享一下css怎样设置鼠标的形状,相信大部分人都还不怎么了解,因此分享这篇文 ...

  8. html链接伪类设置鼠标悬停,链接伪类可以控制超链接的样式吗?是怎样实现的?...

    定义超链接时,为了提高用户体验,经常需要为超链接指定不同的状态,使得超链接在点击前.点击后和鼠标悬停时的样式不同.在CSS中,通过链接伪类可以实现不同的链接状态,下面将对链接伪类控制超链接的样式进行详 ...

  9. [.net 面向对象程序设计进阶] (18) 多线程(Multithreading)(三) 利用多线程提高程序性能(下)...

    [.net 面向对象程序设计进阶] (18) 多线程(Multithreading)(二) 利用多线程提高程序性能(下) 本节导读: 上节说了线程同步中使用线程锁和线程通知的方式来处理资源共享问题,这 ...

最新文章

  1. 继承之后的使用注意事项_ArrayStoreException
  2. 二张图白话广告RTA技术
  3. “有效私域”加速,私域SaaS服务商提前蜕变
  4. svn redis和rabbitmq服务启动
  5. STM32使用串口DMA方式发送数据
  6. 嵌入式linux蓝牙通讯,开发板蓝牙通信问题,有这方面经验的请进
  7. 阿里云服务器部署Java Web项目全过程
  8. piap.windows io 监测attilax总结
  9. 【手写数字识别】基于matlab GUI BP神经网络手写数字识别【含Matlab源码 1118期】
  10. videojs创建control-bar组件,实现点击播放下一视频
  11. 监听imput框的内容变化
  12. java根据日期获得周月
  13. MSP430之仿真器驱动安装问题
  14. 成都拓嘉启远:拼多多直通车推广怎么做才能有开好
  15. 前端在线微信扫码支付的小功能
  16. wisp中远端服务器未响应,ESP8266当中继
  17. 终于搞定了stackoverflow的富文本编辑器pagedown
  18. nyist737 石子合并
  19. EXCEL:穿插复制数据到空单元格
  20. 攻防世界——robots

热门文章

  1. JS跨域(ajax跨域、iframe跨域)解决方法及原理详解(jsonp)
  2. 【转载】Android 关于arm64-v8a、armeabi-v7a、armeabi、x86下的so文件兼容问题
  3. 编译Ngnix遇到的问题,查看程序依赖的库文件
  4. 创建单IP的***网络
  5. 在没有数据集的情况下使用数据表
  6. 真格量化——商品期权基本策略
  7. 音视频多媒体协议相关资料汇总
  8. electron 打包后 __static_electron开发客户端注意事项(兼开源个人知识管理工具“想学吗”)...
  9. android按钮固定尺寸,如何在android中保持按钮的固定宽高比
  10. Django 时间与时区设置问题