2012-10-19 45 views
10

當窗口調整大小時,如何將窗口中的對象(按鈕,標籤等)保持在中心位置?當窗口在C中調整大小時如何保持對象到位#

目前,我在Windows窗體中有3個按鈕。當我最大化窗口時,按鈕將停留在窗口的左上部分。我希望他們像窗戶未被最大化時一樣處於中心位置。

任何幫助?

+0

如果不需要,您可以禁用'最大化'選項... :) –

回答

21

應設置對象的錨屬性沒有

這將保持在中間。

+1

做到了。謝謝 ! :) –

0

如果您使用的是Visual Studio的可視化設計器(並且您沒有理由不這樣做),那麼您試圖管理它們如何放置在窗體內的控件的屬性是「錨定」。 默認情況下,當您創建新控件時,它將設置爲「左上角」,這意味着它們將保持在表單左上角的固定位置。你可以改變它以將它們錨定到任何東西上。

您還可以通過重寫窗體的Resize方法來禁用錨點並控制它們的位置。

1

正確設置控件的Anchor屬性。默認情況下,您的控件的錨定爲Top,Left。如果清除此屬性(實質上錨定爲無),則按鈕將保持居中。

(它可能看起來像要錨定到的四條邊,但實際上這是什麼會做的是調整你的按鈕,填寫表格!)

+0

我做到了。謝謝。但它不會調整按鈕的大小。當我最大化窗口時,按鈕的大小與以前相同。有沒有任何方法的按鈕也增加他們的大小相同的比例? –

+0

如果您將'Anchor'設置爲'Top,Left,Bottom,Right',那麼當您調整窗體大小時,按鈕將調整大小,但它不會與窗體保持相同*比例*(即,它將調整大小與表單相同數量的像素)。如果您想將按鈕的大小保持爲表單大小的固定百分比,則需要手動編碼。 –

4

爲了使您的佈局固定,並在中間做:

  1. 在您的Form上添加TableLayoutPanel
  2. 將其設置爲Dock財產至Fill
  3. 創建3行和3列。
  4. 編輯行和列 - 爲第一列和最後一列以及行設置50%。
  5. 設置中間行和列的固定大小。
  6. Panel或其他任何您喜歡的東西放在第2行和第2列。它將永遠在中間。
相關問題