亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

 更新時間:2013年09月17日 15:52:00   作者:  
動態(tài)創(chuàng)建菜單使得程序靈活性大大增加,本文根據(jù)讀取xml文件中的配置菜單項來動態(tài)創(chuà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é)點遞歸創(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é)點遞歸創(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>個人基本信息</BaseInfo>
    <StudyInfo>學(xué)歷信息</StudyInfo>
    <MarryInfo>婚姻信息</MarryInfo>
  </EmployeeInfo>
  <DeptmentInfo descript="部門信息">
    <dept1>部門1</dept1>
    <dept2>部門2</dept2>
  </DeptmentInfo>
  <MoneyManage descript="工資管理">
    <BaseMoney>基本工資</BaseMoney>
    <OtherMoney>績效工資</OtherMoney>
  </MoneyManage>
  <Apply descript="申請">
    <AddWork>加班</AddWork>
    <ApplyWeek>請假</ApplyWeek>
    <AddMoney>加薪</AddMoney>
    <Another>其他</Another>
  </Apply>
</MangeTvMenu>

相關(guān)文章

  • C#實現(xiàn)在窗體上的統(tǒng)計圖效果

    C#實現(xiàn)在窗體上的統(tǒng)計圖效果

    這篇文章主要為大家詳細(xì)介紹了C#實現(xiàn)在窗體上的統(tǒng)計圖效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • C#高效反射調(diào)用方法類實例詳解

    C#高效反射調(diào)用方法類實例詳解

    在本篇文章中小編給大家分享的是關(guān)于C#高效反射調(diào)用方法類的相關(guān)實例內(nèi)容,有興趣的朋友們學(xué)習(xí)下。
    2019-07-07
  • C# 字符串多行顯示/文本換行以textbox為例講解

    C# 字符串多行顯示/文本換行以textbox為例講解

    C# 字符串多行顯示、文本換行以textbox為例講為大家詳細(xì)介紹并附演示效果圖及演示代碼,感興趣的朋友可以了解下,或許對你學(xué)習(xí)字符串換行有所幫助
    2013-02-02
  • C#從數(shù)據(jù)庫讀取數(shù)據(jù)到DataSet并保存到xml文件的方法

    C#從數(shù)據(jù)庫讀取數(shù)據(jù)到DataSet并保存到xml文件的方法

    這篇文章主要介紹了C#從數(shù)據(jù)庫讀取數(shù)據(jù)到DataSet并保存到xml文件的方法,涉及C#操作DataSet保存到XML文件的技巧,需要的朋友可以參考下
    2015-04-04
  • C#實現(xiàn)Stream與byte[]之間的轉(zhuǎn)換實例教程

    C#實現(xiàn)Stream與byte[]之間的轉(zhuǎn)換實例教程

    這篇文章主要介紹了C#實現(xiàn)Stream與byte[]之間的轉(zhuǎn)換方法,具體講解了二進(jìn)制轉(zhuǎn)換成圖片、byte[]與string的轉(zhuǎn)換、Stream 和 byte[] 之間的轉(zhuǎn)換、Stream 和 文件之間的轉(zhuǎn)換、從文件讀取 Stream以及Bitmap 轉(zhuǎn)化為 Byte[]等,需要的朋友可以參考下
    2014-09-09
  • C#中txt數(shù)據(jù)寫入的幾種常見方法

    C#中txt數(shù)據(jù)寫入的幾種常見方法

    這篇文章主要給大家介紹了關(guān)于C#中txt數(shù)據(jù)寫入的幾種常見方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • C#實現(xiàn)翻轉(zhuǎn)字符串的方法

    C#實現(xiàn)翻轉(zhuǎn)字符串的方法

    這篇文章主要介紹了C#實現(xiàn)翻轉(zhuǎn)字符串的方法,涉及C#操作字符串的技巧,非常具有實用價值,需要的朋友可以參考下
    2015-04-04
  • C#使用post發(fā)送和接收數(shù)據(jù)的方法

    C#使用post發(fā)送和接收數(shù)據(jù)的方法

    這篇文章主要介紹了C#使用post發(fā)送和接收數(shù)據(jù)的方法,涉及C#使用post收發(fā)數(shù)據(jù)的相關(guān)技巧,非常具有實用價值,需要的朋友可以參考下
    2015-04-04
  • unity 切換場景不銷毀物體問題的解決

    unity 切換場景不銷毀物體問題的解決

    這篇文章主要介紹了unity 切換場景不銷毀物體問題的解決方案,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • winform 中顯示異步下載的圖片

    winform 中顯示異步下載的圖片

    本文主要介紹利用WebClient異步下載圖片,顯示在GridView上,需要的朋友可以參考下。
    2016-05-05

最新評論