在好例子网,分享、交流、成长!
您当前所在位置:首页C# 开发实例C#语言基础 → C# 用树型列表动态显示菜单 例子源码下载

C# 用树型列表动态显示菜单 例子源码下载

C#语言基础

下载此实例
  • 开发语言:C#
  • 实例大小:0.07M
  • 下载次数:91
  • 浏览次数:1358
  • 发布时间:2015-04-20
  • 实例类别:C#语言基础
  • 发 布 人:pangjun
  • 文件格式:.rar
  • 所需积分:2
 相关标签: 菜单

实例介绍

【实例简介】从数据库读取数据 加载至树形空间
【实例截图】

【核心代码】


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Timers;
using System.IO;
using Excel = Microsoft.Office.Interop.Excel;
using System.Data.OleDb;

using System.Data.SqlClient;
using System.Windows.Forms;

namespace vs.net
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        public void GetCavenMenu(TreeNode newNodeA, ToolStripDropDownItem newmenuA, bool BL)
        {
            bool Var_bool = true;
            if (newmenuA.HasDropDownItems && newmenuA.DropDownItems.Count > 0)
                for (int j = 0; j < newmenuA.DropDownItems.Count;j   )
                {
                    TreeNode newNodeB = newNodeA.Nodes.Add(newmenuA.DropDownItems[j].Text);
                    Var_bool = true;
                    if (BL == false)
                    {
                        newNodeB.ForeColor = Color.Silver;
                        newNodeB.Tag = 0;
                        Var_bool = false;
                    }
                    else
                    {
                        if (newmenuA.DropDownItems[j].Enabled == false)
                        {
                            newNodeB.ForeColor = Color.Silver;
                            newNodeB.Tag = 0;
                            Var_bool = false;
                        }
                        else
                        {
                            newNodeA.ForeColor = Color.Black;
                            newNodeB.Tag = int.Parse(newmenuA.DropDownItems[j].Tag.ToString());
                        }

                    }
                    ToolStripDropDownItem newmenuB = (ToolStripDropDownItem)newmenuA.DropDownItems[j];
                    if (newmenuB.HasDropDownItems && newmenuA.DropDownItems.Count > 0)
                    {
                        newNodeB.Tag = 0;
                        GetCavenMenu(newNodeB, newmenuB, Var_bool);
                    }

                }
        }

        public void GetMenu(TreeView treeV, MenuStrip MenuS)
        {
            bool Var_Bool = true;
            for (int x = 0; x < MenuS.Items.Count; x  ) //遍历MenuStrip组件中的一级菜单项
            {
                //将一级菜单项的名称添加到TreeView组件的根节点中,并设置当前节点的子节点newNode1
                TreeNode newNode1 = treeV.Nodes.Add(MenuS.Items[x].Text);
                if (MenuS.Items[x].Enabled == false)//判断当前项是否为可用
                {
                    newNode1.ForeColor = Color.Silver;//改变树节点的字体颜色为不可用色
                    Var_Bool = false;
                }
                else
                {
                    newNode1.ForeColor = Color.Black;//改变树节点的字体颜色为可用色
                    Var_Bool = true;
                }
                newNode1.Tag = 0;//标识,有子项的命令项
                //将当前菜单项的所有相关信息存入到ToolStripDropDownItem对象中
                ToolStripDropDownItem newmenu = (ToolStripDropDownItem)MenuS.Items[x];
                GetCavenMenu(newNode1, newmenu, Var_Bool);//添加多层命令项
            }
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            comboBox1.DropDownStyle = ComboBoxStyle.DropDownList;
            comboBox1.Items.Add("明日科技");
            comboBox1.Items.Add("C#编程实战");
            comboBox1.Items.Add("C#从基础到项目实战");


            dateTimePicker1.Format = DateTimePickerFormat.Custom;
            dateTimePicker1.CustomFormat = "yyyy-mm-dd hh:mm:ss";
            dateTimePicker1.Value = DateTime.Now;
            dateTimePicker1.Value = System.DateTime.Now;
            dateTimePicker1.Text = System.DateTime.Now.ToString();
            label1.Text = dateTimePicker1.Text;
            label2.Text = dateTimePicker1.Value.Year.ToString();
            label3.Text = dateTimePicker1.Value.Month.ToString();
            label4.Text = dateTimePicker1.Value.Day.ToString();

            dateEdit1.DateTime = System.DateTime.Now;
            timeEdit1.Time = System.DateTime.Now;
        }

          

        private void button1_Click(object sender, EventArgs e)
        {
            progressBar1.Value = 0;
            progressBar1.Minimum = 0;
            progressBar1.Maximum = 2000;
            progressBar1.Step = 1;
            for (int i = 0; i < 2000; i  )
            {
                progressBar1.PerformStep();
                label5.Text = "";
                label5.Text = "进度值"   progressBar1.Value.ToString();
            }
        }

        private void button2_Click(object sender, EventArgs e)
        {

            //*****************************
            SqlConnection sqlcon = new SqlConnection("data source  = sqlsrv ;database = igs ; uid = sa; pwd=123");
            SqlDataAdapter myda;
            DataSet myds;

            myda = new SqlDataAdapter("select * from dbo.ms_employee where emp_no >1000 and leaving_date is null", sqlcon);
            myds = new DataSet();
            myda.Fill(myds);
            dataGridView1.DataSource = myds.Tables[0];
            //*****************************
           
            ExportDataGridview(dataGridView1,true);

        }
        public bool ExportDataGridview(DataGridView dgv , bool isShowExcle)
            {
                if (dgv.Rows.Count == 0 )
                    return false;

               // 建立连接excel

                Excel.Application excel = new Excel.Application();
                excel.Application.Workbooks.Add(true);
                excel.Visible = isShowExcle;
               
                for (int i = 0 ; i<dgv.ColumnCount;i  )
                {
                    excel.Cells[1,i 1] = dgv.Columns[i].HeaderText;

                }
            //  填充数据
                for (int n = 0; n < dgv.RowCount - 1 ; n  )
                {
                    for (int j = 0; j < dgv.ColumnCount; j  )
                    {
                        if (dgv[j, n].ValueType == typeof(string))
                        {
                            excel.Cells[n   2, j   1] = "'"   dgv[j, n].Value.ToString();
                        }
                        else
                        {
                            excel.Cells[n   2, j   1] = dgv[j, n].Value.ToString();
                        }
                        // excel.Cells[n   2, j   1] = dgv[n, j].Value.ToString();
                    }
                }

              return true;
            }
       
        private void toolStripMenuItem8_Click(object sender, EventArgs e)
        {

        }

        private void toolStripMenuItem15_Click(object sender, EventArgs e)
        {

        }

        private void button3_Click(object sender, EventArgs e)
        {
            //GetCavenMenu(treeView1, menuStrip1, true);
            //GetCavenMenu();

            GetMenu(treeView1, menuStrip1);
        }

        
    }
}


标签: 菜单

实例下载地址

C# 用树型列表动态显示菜单 例子源码下载

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

第 1 楼 haozwlizi 发表于: 2018-07-11 23:05 16
下载了,缺东西无法运行!

支持(0) 盖楼(回复)

发表评论

(您的评论需要经过审核才能显示)

查看所有1条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警