c#winform鼠标双击问题。放在button中可以响应,放在构造函数响应出错

问题描述

c#winform鼠标双击问题。放在button中可以响应,放在构造函数响应出错

双击代码如下。读取txt文件中的字符来获取坐标。假如放在按钮中进行响应没有问题,可以双击打开,放在form的构造函数中就只是把鼠标移动到了坐标位置,但是无法做出双击事件
StreamReader reader = new StreamReader(str0 + str_once, System.Text.Encoding.Default);

        String str;
        int[] px;
        px = new int[2];
        int i = 0;
        while ((str = reader.ReadLine()) != null)
        {
            Regex reg = new Regex(@"-?[d]+?[d]+");
            Match mm = reg.Match(str);
            MatchCollection mc = reg.Matches(str);
            foreach (Match m in mc)
            {
                px[i] = int.Parse(m.Value.Trim());
                i++;
            }
        }
        reader.Close();
        SetCursorPos(px[0], px[1]);
        System.Threading.Thread.CurrentThread.Join(delay_ms);
        mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
        System.Threading.Thread.CurrentThread.Join(delay_ms);
        mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);

解决方案

放在Form_Load中,在你的代码最前面加上
this.Show();
Application.DoEvents();

解决方案二:

放在load方法里面,不要放在构造函数里面

解决方案三:

Load中也试过了,同样不行

解决方案四:

贴出错误信息看看再说

解决方案五:

Load添加this.show也不行。这个不是报错,程序没有问题,但是无法做法打开form就正确执行。SetCursorPos(px[0], px[1])移动鼠标执行了,但是mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)这个没有执行。就是鼠标移动到了那个位置,然后form窗口被打开。就没有然后了……

时间: 2024-09-17 03:51:08

c#winform鼠标双击问题。放在button中可以响应,放在构造函数响应出错的相关文章

鼠标双击在金山wps中的十个妙用

  在今天的金山wps使用教程中,我们将一起来学习一下鼠标双击在金山wps这款软件中的特殊影响力.可能您不知道,在金山wps的某一个区域进行鼠标双击,就会出现"自定义工具栏和命令"对话框,当然最实用的就是在标尺上双击了,就可进行首行缩进的操作.下面,就一起来看看今天的金山wps鼠标双击之后的十个神奇操作! 金山wps 1.当用户区里没有文档被打开时,双击可新建一个空白文档(在WPS的三个模块里皆可,很贴心的功能哦,有点像PS里的双击打开图片);双击标签则关闭该文档,双击标签旁的空白处时

WPS2009软件中鼠标双击的妙用

在WPS2009中,合理使用鼠标双击操作,可以有许多意想不到的效果,下面列举部分WPS2009中的标双击操作及对应功能. 当用户区里没有文档被打开时,双击鼠标可新建一个空白文档. 在标尺上双击,同样可以打开"页面设置"对话框. 双击标尺上的制表位,弹出制表位对话框,方便地设置文本的对齐. 双击标尺上的左/右缩进.首行缩进.悬挂缩进等处,弹出"段落"对话框,方便地对当前光标所在段进行段落格式的更改. 双击正文中的脚注或尾注(类似①②③等符号),光标自动跳到对应的脚注或

winfrom中json解析的字符串绑定到datagridview中如何实现鼠标双击某一行移除本行

问题描述 winfrom中json解析的字符串绑定到datagridview中如何实现鼠标双击某一行移除本行 winfrom中json解析的字符串绑定到datagridview中如何实现鼠标双击某一行移除本行 解决方案 如果是自己添加的row,那就直接从rows中remove就行了,如果是绑定到数据源的,那就先从数据源中删除,再重新绑定 解决方案二: 哦哦,谢谢啦.但是如果大叔你提供哈代码就最好啦.

Silverlight 5 beta新特性探索系列:4.Silverlight 5 beta中鼠标双击/鼠标多重点击的实现

在Silverlight 5中新增了鼠标双击和多重点击的实现,当然在这里包括鼠标左键和鼠标右键的双击,多重点击.在Silverlight 5的MouseButtonEventArgs类中新增了一个属性名为ClickCount:获取到触发事件源在单位时间内被点击的次数(注意:单位时间是由操作系统的"控制面板"-->"鼠标"-->"双击速度"设置的). 下面我们来看一个实例以判断是否双击还是多重点击,首先我们看实例的XAML代码: <

鼠标双击在Excel中的妙用

1.巧分窗口 如果仔细观察可能会发现,在Excel垂直滚动条上方与带黑三角形按钮相邻的地方,有一个折叠起来的按钮,双击(以下双击均指双击鼠标左键)它,即可将当前窗口上下一分为二:双击水平滚动条右方的折叠起来的按钮,可将当前窗左右一分为二. 2.调整列宽 单元格内的文本或数字在列宽不够时,超出宽度部分不显示或显示为#,这时可将鼠标指向此列列标右边界线,待鼠标指针变成左右的双向箭头时双击,可得到最适合的列宽,即列宽刚好容纳此单元格内最长的内容,用同样的办法可得到最适合的行高. 3.快速移动 利用鼠标

tablelayoutpanel控件-鼠标双击picturebox控件可以充满整个tableLayoutPanel控件

问题描述 鼠标双击picturebox控件可以充满整个tableLayoutPanel控件 C# Winform项目,在form窗体中,放置了一个tableLayoutPanel控件(2行.2列)并设置它的dock为fill. 然后在每个格子里放一个panel控件并分别设置dock也为fill(共4个panel控件). 最后在每个panel控件中放一个picturebox控件并分别设置dock也为fill(共4个picturebox控件). 如何实现用鼠标双击其中任意一个picturebox控件

edittext-怎样把光标放在EditText中文本的末尾处?

问题描述 怎样把光标放在EditText中文本的末尾处? 我改变了keyListener监听事件上EditText中的值.但是当我改变文本后,光标会移动到编辑框的最开始处.我是想让光标处于文本的末尾处.怎么把光标移动到EditText编辑框中文本的末尾呢? 解决方案 这个代码应该可以实现你想要的功能 Editable etext = mSubjectTextEditor.getText();Selection.setSelection(etext etext.length()); 解决方案二:

自定义鼠标双击事件的缺陷及改善

鼠标 昨天晚上想写个鼠标双击事件,总感觉以前见过这个代码(最后想起来好象是JS里面的--)按习惯写了个onDbClick,发现居然不变色?!晕了,于是改onDoubleClick.onDouble--等等都不变色,FLASH难道没有定义这个事件?!气愤中,去查帮助,里面果然没有-- 然后就上来搜了闪吧里有关鼠标双击的帖子,一看N多啊,都是自己写函数实现的(再次气愤),不过还是HOLYBOZO的代码是最简洁的,于是拖下来用了.用的时候就发现问题了,只要在延迟以内,我狂点10次就触发了9次事件,而按

Win7系统不能用鼠标双击打开jar文件怎么办?

Win7系统不能用鼠标双击打开jar文件怎么办? 1.按"Win+R"打开"运行"窗口,输入"regedit"命令后按回车打开注册表; 2.找到以下注册项HKEY_CLASSES_ROOT/Applications/javaw.exe,一开始没有的话,就在资源管理器中找到javaw.exe文件,如我的电脑中为D:/Program Files/Java/jre/bin/javaw.exe,运行下,或找个Jar文件,选择打开方式,输入D:/Progr