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外面");
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-07-31
为form添加MouseUp事件,响应函数为:
private void Form1_MouseUp(object sender, MouseEventArgs e)
{
if(!control1.ClientRectangle.Contains(e.Location))
dosomething;
}本回答被提问者采纳
第2个回答  2008-07-31
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>");
}
第3个回答  2008-07-31
C#WinForm控件中又mouseup什么属性。那个就是判断鼠标的位置,和鼠标是否被按下的状态!
第4个回答  2008-07-31
那就肯定是点击在form上了
form也有click事件
相似回答