如何轻松重新排序TabControl?

37

我有一个在VS2005设计器中设计的TabControl,它有大约7个选项卡。

如何轻松地交换选项卡的顺序?

我曾匆忙地将一个选项卡放在最后,但现在我想把它放在中间某个位置。

3个回答

66
在选项卡控件的属性中,有一个TabPages集合。你应该能够在其中调整它们的顺序。只需点击TabPages旁边的省略号,一个对话框将出现,允许您上下移动每个选项卡。

23

在设计器中标记TabControl。

在属性窗口(F4)中,您有一个TabPages属性。 您可以打开一个新窗口,在那里重新排序TabPages。

如果您想在运行时执行此操作,则必须执行以下操作:

tabControl.TabPages.Remove(tabPage1);
tabControl.TabPages.Add(tabPage1); // add to the end
tabControl.TabPages.Insert(2, tabPage1); // add on specific position

TabPages.Insert 就是我一直在寻找的。我不明白为什么他们没有为此重载 Add 方法。 - Himanshu
@hims056 这是因为TabPages是一个实现了IList接口的集合。每个实现了IList接口的类都有一个Add方法,用于在列表末尾添加项目,并且还有一个Insert方法,用于在指定位置插入项目。这使得框架更加一致。如果您喜欢重载Add方法,可以编写一个扩展方法,如下所示:public static void Add(this IList list, int position, object Item) - Jürgen Steinblock

0

打开 FormName.Designer.cs 文件。

找到这一行:this.tabControl1.Controls.Add ....

您可以在此更改顺序。

屏幕截图


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接