日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

C# 获取鼠标相对当前窗口坐标的方法

發(fā)布時(shí)間:2023/12/18 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C# 获取鼠标相对当前窗口坐标的方法 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

編寫客戶端應(yīng)用程序時(shí),經(jīng)常要用到鼠標(biāo)當(dāng)前的位置。
在C#的winform開發(fā)中,可以用Control.MousePosition獲得當(dāng)前鼠標(biāo)的坐標(biāo),使用PointToClient計(jì)算鼠標(biāo)相對于某個(gè)控件的坐標(biāo)。

示例如下:
?

Point screenPoint = Control.MousePosition;//鼠標(biāo)相對于屏幕左上角的坐標(biāo)
Point formPoint = this.PointToClient(Control.MousePosition);//鼠標(biāo)相對于窗體左上角的坐標(biāo)
Point contextMenuPoint = contextMenuStrip1.PointToClient(Control.MousePosition); //鼠標(biāo)相對于contextMenuStrip1左上角的坐標(biāo)

附,c#獲取鼠標(biāo)坐標(biāo)
很多時(shí)候,需要用到鼠標(biāo)在相對于窗體上的坐標(biāo),或相對于屏幕的坐標(biāo)。

用Control.MousePosition獲得當(dāng)前鼠標(biāo)的坐標(biāo)CurrentPoint,使用Control.PointToClient方法,前面獲得的CurrentPoint作為其參數(shù),返回的Point類型的對象即為鼠標(biāo)相對于某個(gè)控件的坐標(biāo)。

以鼠標(biāo)相對于窗體的坐標(biāo)做為例子,如下:
?

Point screenPoint = Control.MousePosition;//鼠標(biāo)相對于屏幕左上角的坐標(biāo)
Point formPoint = this.PointToClient(Control.MousePosition);//鼠標(biāo)相對于窗體左上角的坐標(biāo)

同理:
?

Point button1Point= button1Point.PointToClient(Control.MousePosition); //鼠標(biāo)相對于button1左上角的坐標(biāo)


另外,還有Control.PointToScreen方法,返回相對于屏幕的坐標(biāo)。有興趣的朋友,可以深入研究下。

?

? private void button_Scroll_MouseLeave(object sender, EventArgs e)//鼠標(biāo)離開模擬滾動條按鈕移動
? ? ? ? {
? ? ? ? ? ? EnableMoveScroll = false;
? ? ? ? ? ? MouseStatusEvent("離開");


? ? ? ? ? ? Point screenPoint = Control.MousePosition;//鼠標(biāo)相對于屏幕左上角的坐標(biāo)
? ? ? ? ? ? Point formPoint = this.PointToClient(screenPoint);//鼠標(biāo)相對于窗體左上角的坐標(biāo)
? ? ? ? ? ? button_Scroll.Location = formPoint;


? ? ? ? }

總結(jié)

以上是生活随笔為你收集整理的C# 获取鼠标相对当前窗口坐标的方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。