C#使用TabControl填充TreeView

时间:2011-07-19 17:00:48

标签: c# windows forms treeview

所以我已经能够使用WPF / XAML绑定中的tabnames填充TreeView,但之前没有使用C#Windows Forms完成此操作。

我希望树视图根据打开的文件显示项目名称,然后在其下方显示tabcontrol名称(这些是静态的 - 一个称为编辑器,其他字段)。

我稍后会添加一个上下文菜单,但唯一的目的是根据树状视图中点击事件的状态使标签可见。

我的问题是我无法弄清楚如何在树视图中关联它们。我找到了这个代码,有人能告诉我,如果我在这里正确的轨道吗?

private void treeView1_AfterSelect(Object sender, TreeViewEventArgs e)
    {

        // Set the visibility of the tabpages from the treeview 
        if ((e.Action == TreeViewAction.ByMouse))
        {
            if (e.Node.Name == "Editor")
            {
                this.editForm.tabControl1.SelectedTab = editForm.Editor;
            }
            if (e.Node.Name == "Fields")
            {
                this.editForm.tabControl1.SelectedTab = editForm.Fields;
            }
        }
    }

1 个答案:

答案 0 :(得分:0)

您可以使用TreeNodes的Tag property来保存关联的标签名称。

if (e.Action == TreeViewAction.ByMouse)
{
    TabPage p = tabControl1.TabPages[e.Node.Tag]
    tabControl1.SelectedTab = p;
}