如何附加动态创建的Windows窗体控件?

时间:2009-09-25 13:17:03

标签: c# winforms controls

虽然我可以使用AddAt()在ASP.NET中轻松完成,但我试图在Windows窗体中执行相同的操作。

我有一个面板,虽然我可以做一个pnlMyPanel.Controls.Add(ctl)...它总是将它插入到0位置,当我宁愿将它附加到结尾,或者pnlMyPanel.Controls。计数。

我是否会忽略某种方法,或者我是否需要做其他事情?

2 个答案:

答案 0 :(得分:1)

这取决于你的控件是如何布局的。

我假设面板中的所有控件都设置了Dock属性。如果是这样,请在将新控件添加到面板后,在新控件上调用BringToFrontSendToBackSetChildIndex

如果没有,请设置新控件的TopLeft属性(或Location属性)。

答案 1 :(得分:1)

AddAt功能可以通过添加 SetChildIndex 方法的组合来实现。

您可以使用

SetChildIndex Method

在添加子控件后重新排序子控件的索引。

  

调用SetChildIndex时,   儿童提到的控制   参数移动到该位置   由newIndex和另一个指定   控制参考文献   Control .. ::。ControlCollection   重新安排以适应此举。该   索引值为零的控制是   在z顺序的顶部,更高   数字更接近底部。