这是我的代码:
public MainForm()
{
InitializeComponent();
MyServiceSettings obj = (MyServiceSettings)ConfigurationManager.GetSection("MyServiceSettings");
foreach (MyServiceConfigElement service in obj.Services)
CreateServiceControl(service);
}
private void CreateServiceControl(MyServiceConfigElement service)
{
TabPage tp = new TabPage(service.Name);
tabControl1.TabPages.Insert(0, tp);
//tabControl1.TabPages.Add(tp);
tabControl1.Refresh();
}
简而言之,它读取配置文件中的一个部分,并为该部分中的每个元素创建一个选项卡。
我已经在设计时创建了一个静态TabPage。我希望在此静态选项卡之前插入动态创建的选项卡。
运行此代码,tabcontrol仅显示静态tabpage。
如果我进行此更改:
private void CreateServiceControl(SoftInfoServiceConfigElement service)
{
TabPage tp = new TabPage(service.Name);
//tabControl1.TabPages.Insert(1, tp);
tabControl1.TabPages.Add(tp);
tabControl1.Refresh();
}
使用Add方法显示所有页面。但是我没有得到想要的订单。
插入方法有我不了解的地方吗?为什么不起作用?
最佳答案
关于social.msdn的评论-尽管我在文档中找不到这样的东西:
试试上面提到的代码
IntPtr h = this.tabControl1.Handle;
在您遍历服务之前
关于c# - Visual Studio-TabControl.TabPages.Insert无法正常工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1532301/