32
比方說,我有一個控制,它的位置是相對於其父。如果它嵌入多次並且是主要形式的偉大偉大的孫輩,我怎麼能確定它在我的整個屏幕上的位置,而不僅僅是它在直接父母中的位置?這是爲了通過屏幕截圖打印特定的控件(因爲對於某些控件,DrawToBitmap無法正常工作)。獲取控件相對於整個屏幕的位置?
比方說,我有一個控制,它的位置是相對於其父。如果它嵌入多次並且是主要形式的偉大偉大的孫輩,我怎麼能確定它在我的整個屏幕上的位置,而不僅僅是它在直接父母中的位置?這是爲了通過屏幕截圖打印特定的控件(因爲對於某些控件,DrawToBitmap無法正常工作)。獲取控件相對於整個屏幕的位置?
您正在尋找的PointToScreen
method:
Point location = someControl.PointToScreen(Point.Empty);
注意PointToScreen需要_client AREA_座標,所以使用例如在窗體上這個代碼就不會給出正確的結果。 – rymdsmurf
@rymdsmurf不知道我是否正確理解你,但如果你在'Form'(如'myForm.PointToScreen')上使用它,並且你有正確的座標(來自'control.Location'),它會給你正確的座標屏幕上。 – Artholl