社区
Windows客户端开发
帖子详情
关于Cursor.Current = Cursors.WaitCursor;的问题!
shmilylee
2010-08-10 03:15:31
在写程序时正常是使用
Cursor.Current = Cursors.WaitCursor;和Cursor.Current = Cursors.Default;
我之前一直都没注意
现在发现在等待时间比较长,中间光标还在转圈的时候
我一阵狂点其他按钮,居然是有反应的,点多了我造成我系统内存溢出
有什么办法让光标出现的时候不能点其他按钮(类似于模式窗口)?
...全文
1090
7
打赏
收藏
关于Cursor.Current = Cursors.WaitCursor;的问题!
在写程序时正常是使用 Cursor.Current = Cursors.WaitCursor;和Cursor.Current = Cursors.Default; 我之前一直都没注意 现在发现在等待时间比较长,中间光标还在转圈的时候 我一阵狂点其他按钮,居然是有反应的,点多了我造成我系统内存溢出 有什么办法让光标出现的时候不能点其他按钮(类似于模式窗口)?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
beyondma
2010-08-11
打赏
举报
回复
在光标出现的时候这个不好判断,但是如果光标状态是你函数调出来的。那你完全可以在应用在某个状态的时候禁用UI。这个是没问题的。
88csdn
2010-08-11
打赏
举报
回复
可以看出你的数据加载是在UI线程中做的,实际点击按钮时,消息已经进队列了,但由于一直忙于加载数据,所以不会处理。当数据加载完,会处理所有这些消息,就出现了这样的现象。
可以在加载完数据之后立即PeekMessage将点击类消息移除试试。
shmilylee
2010-08-11
打赏
举报
回复
Cursor.Current = Cursors.WaitCursor会阻塞其他按钮的消息,之行完的时候才会触发其他按钮的时间
我实验的情况是这样的
Cursor.Current = Cursors.WaitCursor;
加载数据之类的操作
Cursor.Current = Cursors.Default;
当在加载数据的过程中点击其他按钮,不会有任何反应,消息被阻塞了
但是一旦完成加载数据的过程,之前点击的所有操作都会之行
Cursors.WaitCursor == Cursor.Current;这句话始终都不会==true
ps:在不开线程的情况下!
世外涛缘
2010-08-10
打赏
举报
回复
Cursor只是界面的一个用户反馈,告诉用户当前忙或者闲的状态。
并不能拒绝所有的用户操作。
不过可以这样,根据Cursors.WaitCursor == Cursor.Current这个条件来判断是否执行用户的操作。
即在按钮中用它来做个逻辑判断。
不知道我说清楚了没有。
iqlife
2010-08-10
打赏
举报
回复
Cursor.Current = Cursors.WaitCursor;和Cursor.Current = Cursors.Default;
你的程序运行后面那条语句了??
调试看看...
儿大不由爷
2010-08-10
打赏
举报
回复
两种方法
1. 按钮的消息响应里判断状态
2. 让计算发生在你的按钮的消息处理函数中,这样就不会响应其他的点击消息了
学习NI使用.txt
实验可靠性测试 实验反复测试功能。使用 private void button1_Click(object sender, EventArgs e) { int TestTimes_real = 0; int TestTimes = int.Parse(textBox1.Text); int CloseTime = (int.Parse(textBox2.Text)) * 1000; int releaseTime = (int.Parse(textBox3.Text)) * 1000; DateTime startTime = DateTime.Now; textBox5.Text = Convert.ToString(startTime); button1.Enabled = false; textBox4.Text = "0";
Cursor
.
Current
=
Cursor
s.
Wait
Cursor
; try { using (Task digitalWriteTask = new Task()) { digitalWriteTask.DOChannels.CreateChannel(physicalChannelComboBox.Text, "", ChannelLineGrouping.OneChannelForAllLines); bool[] dataArray = new bool[8]; bool[] dataArray1 = new bool[8]; dataArray[0] = checkBox1.Checked; dataArray[1] = checkBox2.Checked; dataArray[2] = checkBox3.Checked; dataArray[3] = checkBox4.Checked; dataArray[4] = checkBox5.Checked; dataArray[5] = checkBox6.Checked; dataArray[6] = checkBox7.Checked; dataArray[7] = checkBox8.Checked; for (int i = 0; i < 8;i++ ) { dataArray1[i] = false; } DigitalSingleChannelWriter writer = new DigitalSingleChannelWriter(digitalWriteTask.Stream); for (int i = 0; i < TestTimes;i++ ) { TestTimes_real++; writer.WriteSingleSampleMultiLine(true, dataArray); textBox4.Text = Convert.ToString(TestTimes_real); Delay(CloseTime); writer.WriteSingleSampleMultiLine(true, dataArray1); Delay(releaseTime); }
winform等待游标
//等待游标
Cursor
.
Current
=
Cursor
s.
Wait
Cursor
;
Cursor
.Show(); //关闭游标
Cursor
.
Current
=
Cursor
s.Default;
Cursor
.Hide();
C# wince 实现软件忙鼠标状态改变
eg:
Cursor
.
Current
=
Cursor
s.
Wait
Cursor
; dosomething();
Cursor
.
Current
=
Cursor
s.Default;
Cursor
.
Current
=
Cursor
s.
Wait
Cursor
;//等待
Cursor
.
Current
=
Cursor
s.Default;//默认 转载于:https...
C#中操作鼠标对象
Cursor
改变鼠标指针形状:
Cursor
.
Current
=
Cursor
s.
Wait
Cursor
; try { .. do some work .. } finally {
Cursor
.
Current
=
Cursor
s.Default; } 相关网址:http://www.codeproject.com/cs/miscctrl/
Wait
Cursor
.asp
光标状态设置
把光标设置为等待://C#
Cursor
.
Current
=
Cursor
s.
Wait
Cursor
;VB
Cursor
.
Current
=
Cursor
s.
Wait
Cursor
把光标设置为默认://C#
Cursor
.
Current
=
Cursor
s.Default;VB
Cursor
.
Current
=
Cursor
s.Default
Windows客户端开发
7,655
社区成员
18,845
社区内容
发帖
与我相关
我的任务
Windows客户端开发
Windows Phone是微软发布的一款手机操作系统,它将微软旗下的Xbox LIVE游戏、Zune音乐与独特的视频体验整合至手机中。
复制链接
扫一扫
分享
社区描述
Windows Phone是微软发布的一款手机操作系统,它将微软旗下的Xbox LIVE游戏、Zune音乐与独特的视频体验整合至手机中。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章