Я использую 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);
}
и об элементах управления использованием Я ничего не добавляю к коду, просто элементы управления, которые мне нужны ...
Это работает, но я не уверен, что это правильно, я нахожу другие решения, и они добавляют много вещей, как для пользовательских элементов управления, так и для основной формы.
Итак, что этот код должен работатьдолжным образом.