【发布时间】:2012-03-09 07:48:33
【问题描述】:
在 c# 中,如何通过定位选项卡控件的名称来销毁选项卡控件上的选项卡?我有一个名为“你好!”的标签。我想以编程方式关闭它。不能保证它会成为当时选定的选项卡。
【问题讨论】:
标签: c# .net winforms tabcontrol tabpage
在 c# 中,如何通过定位选项卡控件的名称来销毁选项卡控件上的选项卡?我有一个名为“你好!”的标签。我想以编程方式关闭它。不能保证它会成为当时选定的选项卡。
【问题讨论】:
标签: c# .net winforms tabcontrol tabpage
TabControl 类提供了一个TabPages property,它返回一个包含控件中所有TabPages 的TabPageCollection。
因此您可以使用Item property 来检索具有指定名称的TabPage。
例如,如果您想要的标签页名为“Hello!”,您可以这样写:
var tabPage = myTabControl.TabPages["Hello!"];
要从控件中删除TabPage,请使用RemoveByKey method:
myTabControl.TabPages.RemoveByKey("Hello!");
当然,为了使其正常工作,您需要确保已将 TabPages 的键设置为与它们显示的标题文本相匹配。
【讨论】:
Item 是 C# 中的默认属性。我的语法是错误的。我今天花了太长时间看 VB.NET 代码。
你可以试试这样的:
for (int i = tabControl1.TabPages.Count - 1; i >= 0; i--) {
if (tabControl1.TabPages[i].Text == "Hello!")
tabControl1.TabPages[i].Dispose();
}
我假设您指的是 TabPage 的“文本”,因为“你好!”不是控件的有效名称。
注意:此代码将处理任何显示“Hello!”的 TabPage
【讨论】: