我有以下情形,在這裏我想定位Button1
右下方和水平對齊Button 2
,但仍保持在Button1
groupBox1
,而Button 2
是groupBox2
:定位控制對方
我見過約PointToClient()
和PointToScreen()
幾個職位,但仍無法在不同的容器之間的正確轉換 - groupBox1
在這種情況下groupBox2
。
我已經嘗試了下面的代碼的一些變化(例如,當窗體被調整大小時試圖重新定位按鈕),但我仍然對這個工作原理感到困惑。
具體而言,我不清楚哪一個control
我應該打電話給PointToScreen()
,我應該傳遞給那個方法以實現我上面描述的那些參數。
private void Form1_Paint(object sender, PaintEventArgs e)
{
var btn2Pos = button2.PointToScreen(button2.Location);
button1.Location = button1.PointToClient(btn2Pos);
}
解決此問題的最簡單方法是什麼?
旁註,這樣做的目的:
我希望能夠禁用groupBox2
,而在這一切的控制,但仍保持一定的 控制喜歡啓用button 1
,即使它們被定位 相對到button 2
。
我很困惑'下面和水平對齊'。調整窗口大小後,圖像應該是最終結果,並且兩個按鈕的比例是相同的?或者你正在談論重疊的按鈕? – Sandy
不,圖像是一個開始的例子。重新定位後,button1應該出現在groupBox2中,並且位於按鈕2的下方。代碼並不完整 - 只是我試過的一些東西的一部分,以便按鈕以這樣的方式定位彼此更相關(因爲與他們不同的父容器有關)。 – Kjartan
我仍然不確定你想要的輸出。但我覺得可以通過操縱Anchor屬性本身來實現。我不需要那麼多的代碼。 – Sandy