日期:2014-05-17  浏览次数:21106 次

C# TreeView
如下图,实现选择TreeView中的不同选项时,右边容器窗口显示不同的窗体内容,前提切换选择TreeView节点选项时,右边窗口显示新的窗体内容时,原来的窗体内容需要关闭。请各位朋友帮帮忙,或者提供Demo和源代码,尽量步骤详细,谢谢。


------解决方案--------------------
TreeView节设置tag 窗体的名字 比如From1

然后


 private void Disposed()
        {
            for (int i = 0; i < panel1.Controls.Count; i++)
            {
                panel1.Controls[i].Dispose();
            }
            panel1.Controls.Clear();
        }
        private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
        {
            var o = e.Node.Tag;
            if (o!=null)
            {
                string frmName = o.ToString();
                Form f = GetFrom(frmName);
                if (f!=null)
                {
                    Disposed();
                    f.FormBorderStyle = FormBorderStyle.None;
                    f.TopLevel = false;
                    f.Dock = System.Windows.Forms.DockStyle.Fill;
                    panel1.Controls.Add(f);
                    f.Show();
                }
            }
        }
        private Form GetFrom(string a)
        {
            Form newform = null;
            try
            {
                newform = (Form)Assembly.Load("WindowsForms").CreateInstance("WindowsForms."+a);