這個問題是關於C#的WinForms ...我有這主要有三樣東西自定義用戶控件:標籤,文本框和列表框,所有垂直佈置是這樣的:如何在用戶控件調整大小時自動居中放置用戶控件中的文本框?
我已經寫了一個小的Custom ControlDesigner類來防止用戶在設計時改變這個用戶控件的高度。
我也設置了文本框和列表框以錨定到左/右位置,以便當用戶更改用戶控件的寬度時,這兩個內部控件可以很好地調整大小。
我希望Label也是水平中心,但將它固定到左/右似乎不起作用。我想我可能不得不在自定義控件設計器類中編寫某種自定義調整大小函數,當用戶控件調整大小時會自動將標籤放在中間位置?
另請注意,標籤文本發生更改時,我希望標籤仍保留在中心位置。
那麼我該如何做到這一點?
這裏是我的自定義的控件設計類至今:
public class DropDownTextBoxDesigner : System.Windows.Forms.Design.ControlDesigner
{
public override SelectionRules SelectionRules
{
get
{
SelectionRules retVal =
SelectionRules.Visible |
SelectionRules.Moveable |
SelectionRules.LeftSizeable |
SelectionRules.RightSizeable;
return retVal;
}
}
}
中心的文本,而不是標籤。只需將AutoSize屬性設置爲False並使用TextAlign即可。 – 2014-09-21 20:20:12