C#WinForm中如何判断鼠标是不是在某个控件以外按下
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#WinForm中如何判断鼠标是不是在某个控件以外按下相关的知识,希望对你有一定的参考价值。
leave事件是不行的,在点击窗体的时候是不会触发leave事件的
先定义一个全局变量public Point p = new Point();private void Form1_MouseMove(object sender, MouseEventArgs e)
p = e.Location;
private void Form1_MouseUp(object sender, MouseEventArgs e)
if (!this.groupBox1.ClientRectangle.Contains(p))
MessageBox.Show("在groupBox1外面");
之后还得把其它所有控件都加上MouseUp事件,里面都写
if (!this.groupBox1.ClientRectangle.Contains(p))
MessageBox.Show("在groupBox1外面");
参考技术A 为form添加MouseUp事件,响应函数为:
private void Form1_MouseUp(object sender, MouseEventArgs e)
if(!control1.ClientRectangle.Contains(e.Location))
dosomething;
本回答被提问者采纳 参考技术B private static int count = 0; //统计点击次数
自己写的事件
public void Sum_Click(object sender, EventArgs e)
count = count + 1;
Button的OnClick事件
protected void lbtnTextBox_Click(object sender, EventArgs e)
count = count + 1;
Response.Write("<script>alert('被点击次数为"+count+"');</script>");
参考技术C C#WinForm控件中又mouseup什么属性。那个就是判断鼠标的位置,和鼠标是否被按下的状态! 参考技术D 那就肯定是点击在form上了
form也有click事件
用c#winform拖的datagridview控件,当选中一行数据以后鼠标离开之后,就选不中了
用c#winform拖的datagridview控件,当选中一行数据以后鼠标离开之后,就选不中了这是怎么回事呢?鼠标离开以后,选中的一行又变白了
参考技术A 这个没关系,你只要点击了其中一行就行,然后去做你想要的操作。直接用DataGridView.SelectedIndex。。。获取选中行的值就行了 参考技术B 如果选中背景颜色,可以在行的click事件里添加 参考技术C 你那是滑动的效果吧, 不是选中, 选中时单击数据行以上是关于C#WinForm中如何判断鼠标是不是在某个控件以外按下的主要内容,如果未能解决你的问题,请参考以下文章
C# winform,怎么通过控件的Name属性判断某个控件是不是已经存在
C#winform中鼠标左键点击控件弹出右键菜单 右键点击控件无效
winform 如何实现鼠标位置获取picturebox的焦点,然后焦点放大