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

Posted

技术标签:

【中文标题】TabControl - 在新选项卡中加载默认 UI 元素【英文标题】:TabControl - Loading Default UI Elements in New Tab 【发布时间】:2013-07-16 10:09:28 【问题描述】:

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

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

只是为了传达一些意思:

    用户点击“新标签” 新选项卡已加载文本编辑器和树形视图 用户再次点击“新标签” 新选项卡已加载文本编辑器和树形视图

...对于用户需要的任意数量的选项卡重复该过程。

【问题讨论】:

是的,UserControl。 正要准确地说出这一点......研究创建用户控件,然后根据需要将其加载到每个选项卡中。 【参考方案1】:

就像 cmets 建议的那样,您应该创建一个 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;

我希望这会有所帮助。

【讨论】:

以上是关于TabControl - 在新选项卡中加载默认 UI 元素的主要内容,如果未能解决你的问题,请参考以下文章

在新线程中加载 UIWebView 内容

如何刷新未显示的选项卡

C# winform中TabControl怎么在每个选项卡的卡头添加不同的图标

在新选项卡中打开链接(WebBrowser 控件)

iFrame 未在 FireFox 的选项卡中加载

使用 Bootstrap 4 在主活动选项卡错误中加载选项卡内容 - PHP