C#获取容器窗体中控件Location问题
生活随笔
收集整理的這篇文章主要介紹了
C#获取容器窗体中控件Location问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
C#將相對于屏幕的坐標轉化為相對于控件的坐標?,怎么弄?
窗體內的所有控件都有Location這個屬性。對于直屬于窗體的控件來說,Location的值就是該控件相對于窗體左上角的 坐標 。如果要獲取控件相對于另一個控件的坐標,可以使用后一個控件的坐標減去前一個控件的坐標即可。需要注意一點的是:控件的Location屬性是相對于其父容器來說的,如果兩個控件屬于兩個不同的父容器,那么獲取到的相對于控件的坐標可能會有錯。控件的Location屬性是只讀的,所以不能通過改變Location的值來改變控件的位置,但是可以通過控件的Left和Top這兩個屬性來改變控件的位置。
c#如何確定容器中的控件在容器中的位置
[控件].left //控件左上角點與容器左上角點的橫向距離[控件].top //控件左上角點與容器左上角點的 縱向距離
[控件].location.x //控件左上角與容器左上角的橫向距離
[控件].location.y //控件左上角與容器左上角的縱向距離
[控件].width //控件的寬度
[控件].height //控件的高度
有了上面幾個完全可以知道控件的位置
C#將相對于屏幕的坐標轉化為相對于控件的坐標?,怎么弄?
所有Control都有一個方法:PointToClient
屏幕坐標
一種坐標,其 X 和 Y 屏幕位置是相對于屏幕的左上角(將該左上角當作原點 (0,0))指定的。
Client Coordinates - 工作區坐標
一種坐標,其 X 和 Y 屏幕位置是相對于應用程序的左上角(將該左上角當作原點 (0,0))指定的。在從右向左 (RTL) 的應用程序中,右上角為原點。
如下圖,有個設置窗體是放在TabControl中的,現在想在點擊“專案編號”后面的”>>“時,“專案編號”TextBox正下方彈出一個小窗體,要怎樣控制彈出窗體的Location?謝謝大家先!
Control.MousePosition 屬性,獲取鼠標光標的位置(以屏幕坐標表示)
Control.PointToClient(Point p)方法,可將指定屏幕點的位置計算成工作區坐標
Control.PointToScreen(Point p)方法,可將指定工作區的位置計算成屏幕坐標
總結
以上是生活随笔為你收集整理的C#获取容器窗体中控件Location问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于SIMD的AVS整数反变换算法设计与
- 下一篇: 每日微软面试题