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

求帮助求帮助啊
我窗体设计的左边是TREEVIEW   右边是面板...然后在选中TVW中的NODE的时候,每一项代表一个窗体,选中就会把窗体显示在右边的PLANE中...

   怎么样才可以选中TVW另外一项的时候关闭当前正在面板中的窗体啊..

------解决方案--------------------
引用:
引用:
右边的所有窗口都继承一个基类窗口,定义一个全局变量基类a,每点击一个node,先把右边容器中的控件全部清掉,this.panel.Controls.Clear(),基类a根据点击的node生成特定的窗口,在把窗口添加到原来的位置。


这样清空那些窗体还是打开着的把


每次点击node时,基类2先释放掉,然后再new 指定的窗口,再添加到右边的容器中
------解决方案--------------------
一般设计好几个UserControl,主界面中用Panel或者GroupControl控件根据不同的Trv节点来变化加载不同的UserControl,选择节点的时候先判断当前panel控件添加的是不是你要加载的UserControl,如果是就不用重新加载,不是的话才clear,再添加
 if (groupControlContent.Contains(regionManager))
            {
                return;
            }
 regionManager = new UC_RegionManager();
                groupControlContent.Text = "行政区划数据管理";
                groupControlContent.Controls.Clear();
                groupControlContent.Controls.Add(regionManager);
                regionManager.Dock = DockStyle.Fill;