c# - 如何防止 TabControl 在初始化 VS 2017 时创建标签页
问题描述
我正在创建一个从 TabControl 继承的工具。它的功能类似于 TabControl,但增加了一些功能。但是,每次我将 TabControl 或我的工具拖到表单上时,都会立即创建 2 个 TabPage。我不想在设计器中创建这两个标签页,如何防止创建这两个标签页?
解决方案
这是一个很好的问题; 不幸的是,似乎没有好的答案。
默认情况下,这两个页面是为 any 创建的TabControl
,而不仅仅是您的子类。
它不在您的代码中,也不在MSDN 源代码中。
根据 Hans 的评论,我假设表单(或顶级控件类,例如 a UserControl
)使用“设计器模板”在表单代码中添加额外的初始化InitializeComponent
代码。我们不应该弄乱这段代码!
在这里,在Form1.Designer.cs
代码中创建了标签页,使用它们愚蠢的名称,作为类范围的控件并添加到标签中。
最简单的解决方案是手动删除设计器中的页面。
我能想到的唯一其他解决方法是清除页面,例如在表单的构造函数中:
public Form1()
{
InitializeComponent();
customTab1.TabPages.Clear();
}
注意:在创建和添加in 代码时默认TabPages
不添加。TabControl
推荐阅读
- javascript - 重写 with(this) 语句
- javascript - 如果少数键值对相同且另一个键值小于其他对象,则删除对象数组中的对象
- android - NullPointerException 并跳过 110 帧
- reactjs - 如何将特定元素传递给反应
- sql - Oracle to Postgres Conversion
- google-chrome-extension - 使用 Visual Studio 进行调试时如何在 chrome 中查看 SAML 响应
- javascript - WordPress 和插件
- css - 溢出:滚动导致图像被切断
- sockets - Linux 用户空间代码,用于在 Linux 板和运行 contiki udp 发送器示例代码的每个节点之间进行通信
- bash - 带有多个命令的 bash 脚本管道