我有一個使用GDI +繪製文本和圖形的自定義UserControl。通常我在另一個控件中使用DockStyle.Bottom停靠它。在自定義用戶控件中實現自動大小
此控件的大小由使用Graphics.MeasureString()的自定義佈局確定。因此,每次寬度更改時都需要重新計算高度,當父寬度更改時會更改寬度更改。
目前我在其OnSizeChanged事件中設置此控件的高度。不過,我注意到一些錯誤。有時,當我調整父級的大小時,即使它設置爲DockStyle.Bottom,控件也不會觸及父級的底部。我使用Spy ++來分析控件邊界,控件和父邊之間只有一些空白空間約20像素。
我想在此用戶控件中實現一個適當的AutoSize,並假設頂部或底部DockStyle。
嘗試爲FlowLayoutPanel和UserControl本身設置AutoSize爲true? – 2012-02-27 22:14:53
不使用FlowLayoutPanel。 – 2012-02-27 22:19:36
爲此使用FlowLayoutPanel有什麼問題嗎?或者如何設置Anchor?如果您在用戶控件的所有控件上使用錨點和停靠點,並將它們設置爲停靠在控件邊緣,則控件將使用UserControl調整大小,並且現在可以將錨點/停靠點也設置爲UserControl。當您結合UserControl的Anchor和Dock屬性設置選項時,控件的邊緣會顯示到UI的其他部分。當UI被調整大小時,您的控件也將被正確調整大小。 – 2012-02-27 22:29:09