如何防止TabControl在初始化VS 2017时创建标签页

时间:2018-05-05 17:02:07

标签: c# tabcontrol tabpage

我正在创建一个继承TabControl的工具。这意味着像TabControl一样运行,但增加了一些功能。但是,每次我将TabControl或我的工具拖到表单上时,都会立即创建2个TabPages。我不希望在设计器中创建这两个tabpages,如何防止这两个tabpages被创建?

1 个答案:

答案 0 :(得分:1)

这是一个很好的问题;不幸的是,似乎没有好的答案。

默认情况下会为任何TabControl创建两个页面,而不仅仅是您的子类。

它不在您的代码中,也不在MSDN sources中。

汉斯'评论我认为有一个'设计师模板'表单(或顶级控件类,例如UserControl)用于在表单InitializeComponent代码中添加额外的初始化代码。我们不应该乱用这段代码!

Form1.Designer.cs代码中,使用愚蠢的名称创建标签,作为类范围的控件并添加到选项卡中。

最简单的解决方案是删除设计器中的页面手动

我能想到的唯一其他解决方法是清除页面,例如在表单的构造函数中:

public Form1()
{
    InitializeComponent();
    customTab1.TabPages.Clear();
}

注意:在代码中创建并添加TabPages 时,默认TabControl 未添加