利用多线程句柄设置鼠标忙碌状态

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/475910.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java怎吗从磁盘读文件_编写一个Java应用程序,该程序使用FileInputStream类,实现从磁盘读取本应用程序源代码文件,并将文件内容显示在屏幕上。...

满意答案x786741812013.05.10采纳率&#xff1a;42% 等级&#xff1a;12已帮助&#xff1a;14476人import java.io.FileInputStream;import java.io.InputStreamReader;import java.io.BufferedReader;import java.io.IOException;import java.io.FileNotFoundException;pub…

漂亮的博客搜索框

看到漂亮的搜索框&#xff0c;收藏... 主要用背景图片和输入框和链接隐藏完成。 可以在IE6,ff&#xff0c;chorme下兼容... <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quo…

LeetCode 518. 零钱兑换 II(动态规划)

1. 题目 给定不同面额的硬币和一个总金额。 写出函数来计算可以凑成总金额的硬币组合数。 假设每一种面额的硬币有无限个。 示例 1: 输入: amount 5, coins [1, 2, 5] 输出: 4 解释: 有四种方式可以凑成总金额: 55 5221 52111 511111示例 2: 输入: amount 3, coins [2] 输…

编写Web前端代码的注意事项

1. 最好在html标签之前添加一句类似于 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd" > 的代码&#xff0c;该代码表示遵循W3C的某一套标准&#xff0c;具体使用哪套标准因人而异。 使用…

LeetCode 863. 二叉树中所有距离为 K 的结点(公共祖先/ DFS+BFS)

文章目录1. 题目2. 解题2.1 公共祖先2.2 建图BFS1. 题目 给定一个二叉树&#xff08;具有根结点 root&#xff09;&#xff0c; 一个目标结点 target &#xff0c;和一个整数值 K 。 返回到目标结点 target 距离为 K 的所有结点的值的列表。 答案可以以任何顺序返回。 示例 …

ioctl操作

ioctl操作传统上ioctl函数是用于那些普遍使用&#xff0c;但不适合归入其他类别的任何特性的系统接 口。Posix去掉了ioctl&#xff0c;它通过创建特殊的其功能已被Posix标准化的包裹函数来代替ioctl。这一章介绍和网络 编程有关的ioctl操作。1. ioctl函数int ioctl(int d, int …

java用栈处理四则运算_Java 用栈处理四则运算

import java.util.Arrays;import java.util.HashMap;import java.util.Map;import java.util.Stack;import java.util.regex.Matcher;import java.util.regex.Pattern;/*** 目前只能做简单的四则运算&#xff0c;不支持浮点数和其他符号&#xff0c;不支持多线程* 计算步骤&…

LeetCode 846. 一手顺子(map)

1. 题目 爱丽丝有一手&#xff08;hand&#xff09;由整数数组给定的牌。 现在她想把牌重新排列成组&#xff0c;使得每个组的大小都是 W&#xff0c;且由 W 张连续的牌组成。 如果她可以完成分组就返回 true&#xff0c;否则返回 false。 示例 1&#xff1a; 输入&#xf…

25 To Life

《25 To Life 》 too late for the other side 现在回头为时已晚 caught in a change 由于一次变故 25 to life 25岁时,即决定了一生 too late for the other side 现在回头为时已晚 caught in a change 由于一次变故 25 to life 25岁时,即决定了一生 …

多线程 流水线 java_Java Lock锁多线程中实现流水线任务

下面程序代码通过使用Lock锁执行简单的流水线任务&#xff1a;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;/*** author lzq* data 2020/4/29 0029 - 下午 9:48*/public class Test…

LeetCode 962. 最大宽度坡(单调栈)

1. 题目 给定一个整数数组 A&#xff0c;坡是元组 (i, j)&#xff0c;其中 i < j 且 A[i] < A[j]。这样的坡的宽度为 j - i。 找出 A 中的坡的最大宽度&#xff0c;如果不存在&#xff0c;返回 0 。 示例 1&#xff1a; 输入&#xff1a;[6,0,8,2,1,5] 输出&#xff1…

java 加载资源文件

ClassLoader提供了两个方法用于从装载的类路径中取得资源&#xff1a; public URL getResource(String name); public InputStream getResourceAsStream(String name);这里name是资源的类路径&#xff0c;它是相对与“/”根路径下的位置。getResource得到的是一个URL对象来定位…

Java用链表写图书管理_C语言链表实现图书管理系统

之前参照网上的资料用链表实现了图书管理系统&#xff0c;包括简单的增删改查功能以及借书还书功能&#xff0c;我是VC6.0下写的一个控制台程序&#xff0c;格式参照的网上的。在动手编码之前&#xff0c;你需要理清自己的思路。首先&#xff0c;需要确定图书馆里系统中主要有那…

【Kaggle】Intermediate Machine Learning(缺失值+文字特征处理)

文章目录1. Introduction2. Missing Values 缺失值处理3. Categorical Variables 文字变量处理from https://www.kaggle.com/learn/intermediate-machine-learning下一篇 &#xff1a;【Kaggle】Intermediate Machine Learning&#xff08;管道交叉验证&#xff09; 1. Intro…

VB6调用API打开目标文件所在文件夹且选中目标文件

Option Explicit 模块名称: mOpenFolderAndSetFileFocus 作者: 唐细刚 时间: 2010-08-22 功能: VB6调用API打开目标文件所在文件夹且选中目标文件 注&#xff1a; 由于调用 Explorer.exe /select 方式会使系统产生多余的 Explorer.exe 进程 所以还是API来实现较好…

python 保存文件 吃内存_孤荷凌寒自学python第三十七天python的文件与内存变量之间的序列化与反序列化...

孤荷凌寒自学python第三十七天python的文件与内存变量之间的序列化与反序列化(完整学习过程屏幕记录视频地址在文末&#xff0c;手写笔记在文末)一、什么是序列化与反序列化序列化是指将内存中的数据进行指定规则的格式梳理&#xff0c;使之方便按一定格式保存到文件中。我的理…

【Kaggle】Intermediate Machine Learning(管道+交叉验证)

文章目录4. Pipelines 管道5. Cross-Validation 交叉验证上一篇&#xff1a;【Kaggle】Intermediate Machine Learning&#xff08;缺失值文字特征处理&#xff09; 下一篇&#xff1a;【Kaggle】Intermediate Machine Learning&#xff08;XGBoost Data Leakage&#xff09; …

ASP.NET2.0导出Word文档(C#导出DOC)

在网络上看到很多关于ASP.NET导出DOC文档的例子&#xff0c;有的干脆就直接将html页面不做任何处理直接导出为DOC文件&#xff0c;但是那样会有很多错误&#xff0c;例如将某些控件显示为图片。我还曾经见过微软为中国某个大公司制作的一个XX系统&#xff0c;导出的DOC文件实际…

java todo error_java.sql.SQLException: sql injection violation, syntax error: TODO UNIQUE unique

wenshao 你好&#xff0c;想跟你请教个问题&#xff1a;我是在用activiti工作流的时候 初始化生成流程表产生了下面的问题工作流引擎代码&#xff1a;ProcessEngineConfiguration config ProcessEngineConfiguration.createStandaloneProcessEngineConfiguration();config.se…