0

您好,我正在考虑创建一个 tabcontrol,标签页将通过菜单条中的点击进行过滤。

例如。

我的菜单条在表格 1 中,我的选项卡控件在表格 2 中

我的 tabcontrol 包含 7 个选项卡,我希望一次只显示 1 个选项卡。

例如,如果我单击菜单条中的名称,它将打开/显示一个新表单,并且 tabcontrol 将仅显示名称选项卡。

我想知道它是否可能,因为为每个列表制作差异表格似乎很长。

感谢您阅读本文。

4

2 回答 2

1

问题是,TabPage控件没有Visible属性(好吧,它有,但它什么也不做)。所以你不能随意隐藏和显示标签。您必须删除不可见的选项卡。

您可以使用如下代码制作一个表单(名为 TabbedForm):

private readonly int _index;

public TabbedForm(int index)
{
  this._index = index;
  InitializeComponent();
}

private void form_Load(object sender, EventArgs e)
{
  for (int index = this.tabControl1.TabPages.Count - 1; index >= 0; index--)
  {
    if (index != this._index)
      this.tabControl1.TabPages.Remove(this.tabControl1.TabPages[index]);
  }
}

使用主窗体中的每个菜单按钮(Clicked事件),您可以打开具有不同索引的 TabbedForm。

于 2011-12-04T19:10:44.460 回答
0

是的,这会很好。但是我认为,您必须为此使用默认的选项卡视图控件,并且在您的情况下也不能产生问题。

于 2011-12-02T05:37:54.437 回答