在我的项目中,我想在运行时对控件进行排序,例如DataGridView
我们将如何使用 display-index 对网格中的字段进行排序。
在设计级别,我添加了 3 TextBox
s 和 1ComboBox
并排在运行时,我想订购它们,例如,前 2 TextBox
s 应该显示,然后是 the ComboBox
,然后是另一个TextBox
。
是否可以在运行时重新排列控件?
Control
Windows 窗体中的每一个都有一个Location
属性。您可以通过更改此属性轻松更改控件的位置:
textBox1.Location = new Point(10, 50); // Puts the TextBox at coordinates (10,50)
坐标相对于控件容器的左上角(例如窗体本身)。
在您的情况下,您可以轻松地安排这样的控件:
Control[] controls = new Control[] { textBox1, textBox2, comboBox3, textBox3 }; // These are your controls
int left = 20, top = 50; // or any other value
foreach (c in controls)
{
c.Location = new Point(left, top);
left += c.Width + 10; // space 10 pixels between controls
}