2012-11-19 45 views
1

我有一個.NET 4 WinForms應用程序並排兩個多行文本框。我希望每個文本框佔用一半的可用水平空間,因此我重寫OnLayout來手動計算和設置寬度。但是,我還希望它們在調整父控件大小時垂直調整大小。我爲每個頂點和底點設置了錨定,這通常是足夠的,但是我發現,如果我設置了寬度屬性,它會調整高度 - 它們會比應該高一些。只要我註釋設置寬度的線,垂直調整大小再次正常工作。手動設置文本框寬度,但讓錨定管理高度WinForms

我通過手動設置高度來解決此問題,但理想情況下,我想讓WinForms錨定來處理此問題。任何方式來做到這一點?我已經在OnResize和OnLayout事件中嘗試了這一點,無論是在調用基本方法之前還是之後,它似乎都沒有什麼區別。

回答

1

使用SplitContainer和並設置Panel1MinSizePanel2MinSizeSplitContainerWidth值的一半。

此外,您必須DockFillTextBox es,以便每個消耗一半的可用空間。

enter image description here

+0

這是一種可能性,但我希望避免額外的複雜性。我並不需要用戶能夠調整它們的大小。我只是想讓它們自動調整大小,就像通常那樣錨定。 – EM0