TreeView 导航栏

using System.Drawing;
using System.Windows.Forms;

Splitter splitterNavigate = new Splitter();
splitterNavigate.BackColor = SystemColors.Window;
splitterNavigate.BorderStyle = BorderStyle.Fixed3D;
splitterNavigate.Cursor = Cursors.Hand;
splitterNavigate.Location = new Point(0, 24);
splitterNavigate.Size = new Size(232, 688);
Controls.Add(splitterNavigate);

#region TreeNavigate
private void TreeNavigate()
{
    if (tvNavigate == null)
    {
        tvNavigate = new TreeView();
        tvNavigate.Font = new Font("宋体", 12F, FontStyle.Regular);
        tvNavigate.HotTracking = true;
        tvNavigate.ImageList = imageList;
        tvNavigate.Indent = 25;
        tvNavigate.ShowLines = false;
        tvNavigate.AfterSelect += new TreeViewEventHandler(tvNavigate_AfterSelect);
    }
    splitterNavigate.Controls.Clear();
    splitterNavigate.Controls.Add(tvNavigate);
    tvNavigate.BringToFront();
    tvNavigate.Dock = DockStyle.Fill;
    tvNavigate.Nodes.Clear();
    tvNavigate.BeginUpdate();
    TreeNode rootNode = tvNavigate.Nodes.Add("企业销售管理");
    foreach (ToolStripMenuItem menu in menuStrip.Items)
    {
        rootNode.Nodes.Add(null, null, 2, 2);
        TreeNode childNode = rootNode.Nodes.Add(menu.Text.Substring(0, menu.Text.Length - 4));
        foreach (ToolStripMenuItem item in menu.DropDownItems)
        {
            childNode.Nodes.Add(item.Text.Substring(0, item.Text.Length - 4)).Tag = item;
        }
    }
    rootNode.ExpandAll();
    tvNavigate.EndUpdate();
}

private void tvNavigate_AfterSelect(object sender, TreeViewEventArgs e)
{
    if (e.Node.Level < 2) // 判断选中的节点是否为叶子节点。
        return;
    if (e.Node.Equals(tvNavigate.Tag))
        return;
    e.Node.SelectedImageIndex = 1;
    ToolStripMenuItem menuItem = e.Node.Tag as ToolStripMenuItem;
    if (menuItem.OwnerItem.Equals(systemMenu) || menuItem.OwnerItem.Equals(helpMenu))
        tvNavigate.SelectedNode = null;
    else
    {
        foreach (Form childForm in this.MdiChildren)
        {
            childForm.Close(); // 在窗体关闭时,FormClosing 事件发生。
            if (Convert.ToBoolean(childForm.Tag))
            {
                tvNavigate.SelectedNode = tvNavigate.Tag as TreeNode;
                return;
            }
            childForm.Dispose();
        }
        sbTitle.Remove(0, sbTitle.Length);
        sbTitle.Append(e.Node.Text);
        sbTitle.Capacity = sbTitle.Append("        ").Length;
        this.Text = null;
        tvNavigate.Tag = e.Node;
    }
    menuItem.PerformClick();
}
#endregion 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值