C#如何判断鼠标在窗口内(Winform)

2025-04-19 00:57:53

1、首先,通过Control类的MousePosition属性,可以获取鼠标光标位置,是屏幕的坐标。

C#如何判断鼠标在窗口内(Winform)

2、在窗体类内写代码,窗体Form有成员函数PointToClient,可以将一个屏幕空间点转化成相对当前窗体客户区域的坐标。

C#如何判断鼠标在窗口内(Winform)

3、当前窗体有ClientSize属性,可以用来获取当前窗体工作区(客户区)的大小,这个属性也可以用于设置。注意,Size属性比这个大,Size属性不仅包括工作区,还包括边框标题栏等。

C#如何判断鼠标在窗口内(Winform)

4、使用如图代码判断鼠标位置是否在客户区外。如果要判断鼠标是否在整个窗体外,可以自己用Size属性的分量和ClientSize属性的分量来计算,这是个加减法问题。

C#如何判断鼠标在窗口内(Winform)

5、如图是一个应用情景,检查鼠标是否在窗体内外,进行窗体淡入淡出。Opacity为0时完全消失,鼠标可穿透。

C#如何判断鼠标在窗口内(Winform)
C#如何判断鼠标在窗口内(Winform)

6、另外,如果要求简单,还可以直接用Form1的鼠标事件判断。MouseMove事件处理的参数中,含有鼠标位置信息。

C#如何判断鼠标在窗口内(Winform)
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢