在面板c#形式上“带来前面并带回来”是什么意思

时间:2014-06-06 00:16:48

标签: c# forms

我正在使用c#拖放面板。面板不断出现和消失。我还需要帮助处理面板盒功能,如“带到前面并带回来”,我认为这就是弄乱我的面板。他们的意思是?

1 个答案:

答案 0 :(得分:7)

Windows窗体设计器有一个名为Z-order的概念。当两个控件重叠时,Z顺序确定哪个控件将显示在顶部。

例如,假设您在Windows窗体上有两个名为textBox1pictureBox1的控件。以编程方式,this指的是Windows窗体本身,Controls是该窗体中控件的默认列表,textBox1是我们正在更改的实际控件。

选择菜单选项Bring to Front等同于调用控件的BringToFront()方法。这会将控件移动到Windows窗体的默认控件集合的开头。因此,如果您在Bring To Front上致电textBox1,它将显示在您的表单上的所有其他控件之上。编程,

// Bring the control in front of all other controls
this.textBox1.BringToFront();

选择菜单选项Send to Back等同于调用控件的SendToBack()方法。这会将控件移动到Windows窗体的默认Controls集合的末尾。因此,如果您在Send To Back上致电textBox1,它将显示在您表单上所有其他控件的后面。编程,

// Send the control behind all other controls
this.textBox1.SendToBack();

您还可以通过编程方式更好地控制订购。在UI中无法做到这一点。所以:

// Put the control at the 2nd index in the Controls collection of this Form
this.Controls.SetChildIndex(this.textBox1, 2); 

此页面Layering Objects on Windows Forms提供了更多详细信息。

页面Windows Forms Controls: Z-order and Copying Collections包含有关如何以编程方式控制Z顺序的示例。