在C#中向TabControl选项卡添加按钮
我在Windows窗体中有一个TabControl。 我务实地添加了新标签,如下所示:
for (int i = 1; i < numOfLanguages; i++) { // add a tab for each language string tabTitle = split[i]; TabPage newTab = new TabPage(tabTitle); languageTabs.TabPages.Add(newTab); }
在循环内部我想为每个选项卡设置其他控件。 主要是我想添加按钮。 我看过这段代码:
tabPage1.Controls.Add(new Button());
根据这个例子,我想做类似的事情:
languageTabs.SelectTab(split[i]).Add(new Button());
我知道这段代码不会起作用。 一直在查看参数并且看不到任何可以让我做这种事情的事情。
任何想法社区?
SelectTab
将实际的TabControl
移动到指定的选项卡,它不会返回选项卡以让您操作它。
您可以按如下方式索引标签页:
languageTabs.TabPages[2].Controls.Add(new Button());
如果您在创建时在TabPage
上设置了Name
属性,那么您还可以按键查找单个选项卡:
for (int i = 1; i < numOfLanguages; i++) { // add a tab for each language string tabTitle = split[i]; TabPage newTab = new TabPage(tabTitle); newTab.Name = tabTitle; languageTabs.TabPages.Add(newTab); } ... languageTabs.TabPages[split[i]].Controls.Add(new Button());
( 有关更多信息, 请参阅MSDN )
哪个最方便。
LINQ?
languageTabs.TabPages.First(tab => tab.Title == split[i]).Add(new Button());
如果tabcontrol没有具有特定名称的选项卡,那么这可能不可靠(崩溃),因此您可能需要更可靠的方法:
if (languageTabs.TabPages.Exists(tab => tab.Title == split[i])) { languageTabs.TabPages.First(tab => tab.Title == split[i]).Add(new Button()); }