標籤和複選框有一個「填充」屬性。 如果我想在TableLayoutPanel中設置它們的位置,這非常方便。 現在我想對ComboBox做同樣的事情,但令我驚訝的是我沒有在ComboBox中找到Padding屬性。ComboBox的Padding屬性在哪裏?
它真的不在嗎? 如果沒有,是否有解決方法來設置TableLayoutPanel中的組合框縮進的縮進?
標籤和複選框有一個「填充」屬性。 如果我想在TableLayoutPanel中設置它們的位置,這非常方便。 現在我想對ComboBox做同樣的事情,但令我驚訝的是我沒有在ComboBox中找到Padding屬性。ComboBox的Padding屬性在哪裏?
它真的不在嗎? 如果沒有,是否有解決方法來設置TableLayoutPanel中的組合框縮進的縮進?
由於ComboBox派生自Control,因此它確實存在。它有財產。請參閱https://msdn.microsoft.com/en-us/library/system.windows.forms.control.padding(v=vs.110).aspx
但開發人員故意將其隱藏在ComboBox中。這裏是ComboBox.Padding
組合框[從元數據]
//
// Summary:
// This property is not relevant for this class.
//
// Returns:
// A System.Windows.Forms.Padding value.
[Browsable(false)]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
[EditorBrowsable(EditorBrowsableState.Never)]
public Padding Padding { get; set; }
顯然的簽名,This property is not relevant for this class.
並不是說你不能嘗試在運行時從代碼修改...
this.comboBox1.Padding = new Padding(10); // this compiles!
...但這似乎並沒有做任何東西。
TableLayoutPanel具有填充本身。也許這會適用於你
它在那裏,因爲一個ComboBox是一個控件。請參閱https://msdn.microsoft.com/en-us/library/system.windows.forms.control.padding(v=vs.110).aspx。此外,它可能隱藏了類似'[Browsable(false),EditorBrowsable(EditorBrowsableState.Never)]''。但是即使你沒有看到它,你也應該能夠從代碼中設置它。 – djv