Как изменить элементы управления формы, используя древовидную структуру в C #? - PullRequest
0 голосов
/ 07 декабря 2018

Я использую C#, и я хочу создать форму, которая состоит из treeview treeview1, панели panel1 и кнопки btn1.

.панель пуста, тогда будет отображаться userControl userControl1, когда пользователь выберет узел из дерева, а другой userControl userControl2 заменит первый, когда пользователь выберет другой конкретный узел, и продолжит ...как в настройках форм

Я нашел решение здесь:

Как создать форму параметров в C # Windows Forms?

, но написано:псевдокод, я пытаюсь реализовать код, и вот что я получаю:

        //on initializing
        treeView1.Nodes.Add(new TreeNode());
        treeView1.Nodes.Add(new TreeNode());
        treeView1.Nodes.Add(new TreeNode());

        treeView1.Nodes[0].Tag = new UserControl1();
        treeView1.Nodes[1].Tag = new UserControl2();
        treeView1.Nodes[2].Tag = new UserControl3();

        treeView1.Nodes[0].Text = "user controle1";
        treeView1.Nodes[1].Text = "user controle2";
        treeView1.Nodes[2].Text = "user controle3";

        private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
        {
              UserControl currentControl = (UserControl)treeView1.SelectedNode.Tag;

               TreeNode currentnode = treeView1.SelectedNode;

        if (panel1.Controls != null)
        {
            panel1.Controls.Clear();
        }

        if (currentnode.Tag == null)
            return;

        panel1.Controls.Add((UserControl)currentnode.Tag);
    }

и об элементах управления использованием Я ничего не добавляю к коду, просто элементы управления, которые мне нужны ...

Это работает, но я не уверен, что это правильно, я нахожу другие решения, и они добавляют много вещей, как для пользовательских элементов управления, так и для основной формы.

Итак, что этот код должен работатьдолжным образом.

...