1

在我的项目中,我想在运行时对控件进行排序,例如DataGridView我们将如何使用 display-index 对网格中的字段进行排序。

在设计级别,我添加了 3 TextBoxs 和 1ComboBox并排在运行时,我想订购它们,例如,前 2 TextBoxs 应该显示,然后是 the ComboBox,然后是另一个TextBox

是否可以在运行时重新排列控件?

4

1 回答 1

1

ControlWindows 窗体中的每一个都有一个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
}
于 2013-06-29T10:54:56.843 回答