如何在WinForms中控制对接顺序

正如标题所述,我正在寻找一种方法来控制项目停靠到我的控件顶部的顺序。

我已经和Windows窗体devise师一起玩过了,我似乎找不到RightClick->Order->SendToFront在做什么,因为那正是我想要发生的事情。 就我所能发生的事情而言,当我把我的内容添加到我的控制中时,最新的内容总是在最上面,我希望较新的内容在底部,最旧的内容在最佳。

简介:在WinForms(C#)中是否有一种简单的方法来控制事物停靠在控件两侧的顺序?

编辑:我必须从背后的代码做到这一点,因为我添加我的控件,我不能使用WinForm的devise器的任何function,但我想要做的是模仿WinFormsdevise器SendToBackSendToFrontfunction

使用这些方法:

 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()); 

一个控件有两个方法来实现你正在寻找的: BringToFrontSendToBack

将控件添加到Controls集合的顺序决定了停靠顺序。

(为了显示另一个选项):在Visual Studio 2012(及更高版本)中:

  1. select要移动到前面(或后面)的控件;
  2. 点击下面标记的button(带到前面/发送到后面); 在这里输入图像说明

这将使您可以将控件重新排列到所需的顺序。

使用FlowLayoutPanel它正是你想要的。