WinForm 窗体中树形导航的实现

来源:互联网 发布:火石软件官网 编辑:程序博客网 时间:2024/05/01 12:49

net winform 左边TreeView右边放窗体,之间有个可拖动的竖条。
点击左边的TreeView的Node 时,关闭右边的所有窗体,然后打开需要的窗体,

方法:
设置主窗体的IsMdiContainer = true;
拖过来一个TreeView,设置Dock为left
在 工具箱-->所有Windows窗体 里拖出一个 Splitter(不是SplitContainer) 来放到TreeView的右边

开始编码:
private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
{
    if (e.Node.Name == "系统参数")
    {
        Form frm = new Form2();
        frm.MdiParent = this;
        frm.WindowState = FormWindowState.Maximized;
        frm.Dock = DockStyle.Fill;
        frm.FormBorderStyle = FormBorderStyle.None;
        frm.Show();
    }
}

==========================================
以上不使用SplitContainer的原因是因为:
右边的窗体里的文本框textbox没法用鼠标定位,有一种方法可以,就是:
把FrmShangpinAdd 的FormBorderStyle设为None就完全可以了,只是没有了标题栏

左边一个TreeView,右边一个panel1
点击TreeView时,把相应的窗体显示在panel1里

这样操作以后:

this.panel1.Controls.Clear();
FrmShangpinAdd tempForm = new FrmShangpinAdd();
tempForm.TopLevel = false;
tempForm.Parent = this.panel1;
tempForm.Dock = DockStyle.Fill;
tempForm.Show();

可以实现

原创粉丝点击