国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > C# > 正文

c# winform讀取xml文件創(chuàng)建菜單的代碼

2020-01-24 03:09:18
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
復(fù)制代碼 代碼如下:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using WinformMenu.Helper;
using System.Xml;

namespace WinformMenu
{
    public partial class FrmAddMenu : Form
    {
        public FrmAddMenu()
        {

            InitializeComponent();

        }

        private void FrmAddMenu_Load(object sender, EventArgs e)
        {
            MenuStrip menuS = new MenuStrip();
            menuS.Parent = this;
            string xmlFileName = @"F:/c#工程/WinformMenu/WinformMenu/XML/菜單.xml";
            createMenu(xmlFileName, menuS);
        }

       
        public void createMenu(string xmlFileName, MenuStrip menuS)
        {  
            //1:根據(jù)XmlElement創(chuàng)建菜單
            //XmlNode node = xmlHelper.GetXmlNode(xmlFileName, "http://MangeTvMenu");
            //foreach (XmlNode xml in node.ChildNodes)
            //{
            //    ToolStripMenuItem mainMenu=new ToolStripMenuItem();
            //    mainMenu.Text = xml.Attributes["descript"].Value;
            //    menuS.Items.Add(mainMenu);
            //    if (xml.HasChildNodes)
            //    {
            //        CreateSubMenuByNode(xml, mainMenu);
            //    }
            //}
            //2:根據(jù)XmlNode創(chuàng)建菜單
            XmlElement xml = xmlHelper.GetXmlElement(xmlFileName);
            foreach (XmlElement xel in xml.ChildNodes)
            {
                ToolStripMenuItem mainMenu = new ToolStripMenuItem();
                mainMenu.Text = xel.Attributes["descript"].Value;
                menuS.Items.Add(mainMenu);
                if (xml.HasChildNodes)
                {   
                    CreateSubMenuByElement(xel, mainMenu);
                }
            }

        }

        /// <summary>
        /// 根據(jù)node節(jié)點(diǎn)遞歸創(chuàng)建菜單
        /// </summary>
        /// <param name="xNode"></param>
        /// <param name="menuItem"></param>
        public void CreateSubMenuByNode(XmlNode xNode, ToolStripMenuItem menuItem)
        {
            foreach (XmlNode xml in xNode.ChildNodes)
            {
                ToolStripMenuItem subMenu = new ToolStripMenuItem();
                if (xml.ChildNodes.Count > 1)
                {
                    subMenu.Text = xml.Attributes["descript"].Value;
                    menuItem.DropDown.Items.Add(subMenu);
                    CreateSubMenuByNode(xml, subMenu);
                }
                else
                {
                    subMenu.Text = xml.InnerText;
                    menuItem.DropDown.Items.Add(subMenu);
                }
            }
        }

        /// <summary>
        /// 根據(jù)元素節(jié)點(diǎn)遞歸創(chuàng)建菜單
        /// </summary>
        /// <param name="xml"></param>
        /// <param name="menuItem"></param>
        public void CreateSubMenuByElement(XmlElement xml, ToolStripMenuItem menuItem)
        {
            foreach (XmlElement xel in xml.ChildNodes)
            {
                ToolStripMenuItem subMenu = new ToolStripMenuItem();
                if (xel.ChildNodes.Count>1)
                {
                    subMenu.Text = xel.Attributes["descript"].Value;
                    menuItem.DropDown.Items.Add(subMenu);
                    CreateSubMenuByElement(xel, subMenu);
                }
                else
                {
                    subMenu.Text = xel.InnerText;
                    menuItem.DropDown.Items.Add(subMenu);
                }
            }
        }
 ///////////////////////////////////////////////////
    }
}

xml文件格式如下:
復(fù)制代碼 代碼如下:

<?xml version="1.0" encoding="utf-8" ?>
<MangeTvMenu descript="管理">
  <Add descript="添加">
    <Employee>員工</Employee>
    <Deptment>部門</Deptment>
  </Add>
  <EmployeeInfo descript="員工信息">
    <BaseInfo>個(gè)人基本信息</BaseInfo>
    <StudyInfo>學(xué)歷信息</StudyInfo>
    <MarryInfo>婚姻信息</MarryInfo>
  </EmployeeInfo>
  <DeptmentInfo descript="部門信息">
    <dept1>部門1</dept1>
    <dept2>部門2</dept2>
  </DeptmentInfo>
  <MoneyManage descript="工資管理">
    <BaseMoney>基本工資</BaseMoney>
    <OtherMoney>績(jī)效工資</OtherMoney>
  </MoneyManage>
  <Apply descript="申請(qǐng)">
    <AddWork>加班</AddWork>
    <ApplyWeek>請(qǐng)假</ApplyWeek>
    <AddMoney>加薪</AddMoney>
    <Another>其他</Another>
  </Apply>
</MangeTvMenu>
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 凤城市| 青铜峡市| 广昌县| 巴中市| 石台县| 二手房| SHOW| 宁远县| 廉江市| 乳山市| 吉首市| 井研县| 莎车县| 两当县| 云南省| 甘谷县| 全州县| 宁陵县| 张家口市| 奎屯市| 河池市| 西丰县| 长沙市| 南投县| 泰宁县| 独山县| 丰顺县| 清水河县| 隆回县| 龙山县| 正宁县| 馆陶县| 陇西县| 咸宁市| 枣庄市| 甘德县| 彰武县| 白沙| 宣武区| 娱乐| 白沙|