C# 如何轻松地重新排序TabControl?

C# 如何轻松地重新排序TabControl?,c#,winforms,visual-studio-2005,tabcontrol,C#,Winforms,Visual Studio 2005,Tabcontrol,我在VS2005设计器中设计了一个TabControl,它有大约7个选项卡 如何轻松切换选项卡的顺序 我匆匆忙忙地在最后放了一个标签,但现在我想把它放在中间的某个地方。 在Tab控件的属性中有一个TabPress集合。你应该可以在那里把它们混在一起。只需单击TabPages旁边的省略号,就会出现一个对话框,允许您按顺序上下移动每个选项卡。在设计器中标记TabPages控件 在属性窗口(F4)中有一个TabPages属性。 您可以打开一个新窗口,在其中可以对选项卡页面进行重新排序 如果您想在运行时

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

如何轻松切换选项卡的顺序


我匆匆忙忙地在最后放了一个标签,但现在我想把它放在中间的某个地方。

在Tab控件的属性中有一个TabPress集合。你应该可以在那里把它们混在一起。只需单击TabPages旁边的省略号,就会出现一个对话框,允许您按顺序上下移动每个选项卡。

在设计器中标记TabPages控件

在属性窗口(F4)中有一个TabPages属性。 您可以打开一个新窗口,在其中可以对选项卡页面进行重新排序

如果您想在运行时这样做,您必须这样做

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

打开FormName.Designer.cs

找到this.tabControl1.Controls.Add…行

您可以在这里更改订单


TabPages.Insert
是我要找的。我不明白为什么他们没有为此重载
Add
方法。@hims056这是因为
TabPages
是一个实现
IList
接口的集合。实现
IList
的每个类都有一个
Add
方法将项添加到列表的末尾,还有一个
Insert
方法将项插入到指定的位置。这使得框架一致。如果希望重载Add方法而不是
publicstaticvoidadd(此IList列表、int位置、对象项)