如何在WinForms中控制对接顺序
正如标题所述,我正在寻找一种方法来控制项目停靠到我的控件顶部的顺序。
我已经和Windows窗体devise师一起玩过了,我似乎找不到RightClick->Order->SendToFront
在做什么,因为那正是我想要发生的事情。 就我所能发生的事情而言,当我把我的内容添加到我的控制中时,最新的内容总是在最上面,我希望较新的内容在底部,最旧的内容在最佳。
简介:在WinForms(C#)中是否有一种简单的方法来控制事物停靠在控件两侧的顺序?
编辑:我必须从背后的代码做到这一点,因为我添加我的控件,我不能使用WinForm的devise器的任何function,但我想要做的是模仿WinFormsdevise器SendToBack
和SendToFront
function
使用这些方法:
myControl.SendToBack(); myControl.BringToFront();
转到查看 – >其他窗口 – >文档大纲。
在那个窗口中拖动控件,使对接就像你喜欢的那样。
正如你所说,添加到控件集合中的最新控件是最重要的控件。 如果需要在底部添加一个新的控件,我会build议创build一个控件列表,将控件添加到列表中,反转列表并将列表添加到控件集合中。
List<Control> controls = new List<Control(); controls.Add(new myFirstControl()); controls.Add(new mySecondControl()); controls.Reverse(); this.Controls.AddRange(controls.ToArray());
一个控件有两个方法来实现你正在寻找的: BringToFront
和SendToBack
。
将控件添加到Controls集合的顺序决定了停靠顺序。
(为了显示另一个选项):在Visual Studio 2012(及更高版本)中:
- select要移动到前面(或后面)的控件;
- 点击下面标记的button(带到前面/发送到后面);
这将使您可以将控件重新排列到所需的顺序。
使用FlowLayoutPanel它正是你想要的。