TabControl - 在“新建”选项卡中加载默认UI元素

时间:2013-07-16 10:09:29

标签: c# .net winforms

我的应用程序中有一个TabControl但我想允许用户创建一个新选项卡,但是当创建新选项卡时,它包含一些默认的表单控件。创建的所有新选项卡将包含每个选项卡相同的基本表单控件(想想NotePad ++,其中每个新选项卡中都有一个文本编辑器)。

我是否可以使用某种设计模式或模板,以便在创建新标签时,它将包含我的应用程序所需的必要表单控件?

只是为了表达一些意义:

  1. 用户点击"新标签"
  2. 新选项卡加载了文本编辑器和树视图
  3. 用户点击"新标签"再次
  4. 新选项卡加载了文本编辑器和树视图
  5. ...并且针对用户需要的任意数量的选项卡重复这些过程。

1 个答案:

答案 0 :(得分:1)

与评论建议一样,您应该创建一个UserControl,让我们称之为TextEditorControl。然后,您可以使用以下方法在按钮单击上添加标签页

private void AddTabPage()
{
    // Add new tab page and dock fill.
    TabPage tab = new TabPage(Path.GetFileName(fullPath));
    TextEditorControl editor = new TextEditorControl();
    editor.Dock = System.Windows.Forms.DockStyle.Fill;

    // Add the new tab to the tab control.
    tab.Controls.Add(editor);
    fileTabs.Controls.Add(tab);
    fileTabs.SelectedTab = tab;
}

我希望这会有所帮助。