C# 屏蔽控件单击事件更优的方案
来源:互联网 发布:java对象数组转json 编辑:程序博客网 时间:2024/05/21 19:25
C# 屏蔽控件单击事件更优的方案 2013-10-29 20:46:32
分类: C#/.net
下面使用线程的方法来屏蔽控件单击事件,这个方法更优一些。双击的时候能迅速响应,但是影响到了单击时的响应。
主要原理也是判断两个点击的差距是不是大于500ms。
要深刻理解这里的工作原理,还是需要多加强对鼠标、键盘及其它高级事件的原理。
- private int mLastTime = 0;
- private Thread mSClickThread;
- public Form1()
- {
- InitializeComponent();
- }
- private void doubleClickHandler()
- {
- MessageBox.Show("我是双击");
- }
- private void simpleClickHandler()
- {
- MessageBox.Show("我是单击");
- }
- private void dataGridView1_MouseDown(object sender, MouseEventArgs e)
- {
- if ((Environment.TickCount - this.mLastTime) < 500)
- {
- Thread dClickThread = new Thread(() =>
- {
- doubleClickHandler();
- }
- );
- dClickThread.IsBackground = true;
- dClickThread.Priority = ThreadPriority.Highest;
- dClickThread.Start();
- this.mSClickThread.Abort();
- }
- else
- {
- this.mSClickThread = new Thread(new ThreadStart(() =>
- {
- Thread.Sleep(300);
- simpleClickHandler();
- })
- );
- this.mSClickThread.IsBackground = true;
- this.mSClickThread.Start();
- }
- }
- private void dataGridView1_MouseUp(object sender, MouseEventArgs e)
- {
- this.mLastTime = Environment.TickCount;
- }
0 0
- C# 屏蔽控件单击事件更优的方案
- C#控件无法响应单击事件的问题
- C# 常用控件及单击事件
- C# 常用控件及单击事件
- 控件的单击事件和双击事件
- a标签加入单击事件,屏蔽href跳转的方法
- 模拟CTabCtrl控件的单击事件
- 引发服务器控件的客户端单击事件
- JS触发服务器控件的单击事件
- WdatePicker 日历控件的onchange事件屏蔽
- 屏蔽浏览器界面Backspace按钮单击事件
- android连续单击事件实现的两种方案
- ListView的item单击事件与item布局中控件单击事件的冲突问题
- C#屏蔽回车事件
- android listView 控件单击事件
- Wpf中用代码执行控件的单击事件
- C#treeView控件单击事件选中节点的问题
- 关于vc tree控件的单击事件 延迟显示
- SpringBoot学习-第一章 新的Spring基础-<Spring Boot 实战>
- 浏览器内核
- 一个手机号码如何注册多个百度账号
- android相机权限适配遇到的坑(包含6.0和6.0以下)
- 软件架构师应该知道的97件事
- C# 屏蔽控件单击事件更优的方案
- 微信jsapi获取用户地理位置接口开发(7)
- 高并发大型网站架构设计
- simple_pool对象池——优化<二>
- Universial Robot (3): 在Ubuntu 16.04和ROS Kinetic上使用UR3 Robot
- Redis系列(六):SortedSets设计技巧
- mysql修改密码
- 大型互联网网站架构心得之二:并、换
- vim快捷键