亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

winform樹形菜單無限級分類實例

2020-01-24 03:34:27
字體:
來源:轉載
供稿:網友

以下實現的是一個樹形菜單,每一級對應一類窗口,點擊葉子節點時彈出新的窗口;

用遞歸和委托實現的。

第一部分功能-創建樹形菜單

復制代碼 代碼如下:

/// <summary>
         /// 創建樹形菜單
         /// </summary>
         public void AddTree(int ParentID, TreeNode pNode)
         {
             // 數據庫名字字段
             string strName = "Name";
             // 數據庫ID字段
             string strID = "ID";
             // 數據庫父級ID字段
             string strParentID = "ParentID";
             DataTable dt = typeManager.GetAllList();
             DataView dvTree = new DataView(dt);
             dvTree.RowFilter = strParentID + " = " + ParentID;
             foreach (DataRowView Row in dvTree)
             {
                 TreeNode Node = new TreeNode();
                 if (pNode == null)
                 {
                     Node.Text = Row[strName].ToString();
                     Node.Name = Row[strName].ToString();
                     Node.Tag = Row[strID].ToString();
                     Node.ImageIndex = 1;
                     this.treeView1.Nodes.Add(Node);
                     AddTree(Int32.Parse(Row[strID].ToString()), Node); //再次遞歸
                 }
                 else
                 { 
                     Node.Text = Row[strName].ToString();
                     Node.Name = Row[strName].ToString();
                     Node.Tag = Row[strID].ToString();
                     Node.ImageIndex = 1;
                     pNode.Nodes.Add(Node);
                     AddTree(Int32.Parse(Row[strID].ToString()), Node); //再次遞歸
                 }
             }
         }

         /// <summary>
         /// 主窗體加載
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         private void frmTree_Load(object sender, EventArgs e)
         {
             // 根節點ID值
             int i = 0;
             this.treeView1.Nodes.Clear();
             AddTree(i, (TreeNode)null);
             treeView1.HideSelection = true;
             treeView1.ShowLines = true;
         }

第二部分功能-文件夾圖標變換:

復制代碼 代碼如下:

private void treeView1_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e)
         {
             ImageChange(e);
         }

         private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
         {
             ImageChange(e);
         }
         /// <summary>
         /// 變換文件夾圖標
         /// </summary>
         /// <param name="e"></param>
         public void ImageChange(TreeNodeMouseClickEventArgs e)
         {
             if (null == e.Node.FirstNode)
             {
                 e.Node.ImageIndex = 0;
                 e.Node.SelectedImageIndex = 0;
             }
             else
             {
                 if (e.Node.IsExpanded)
                 {
                     e.Node.ImageIndex = 0;
                     e.Node.SelectedImageIndex = 0;
                 }
                 else
                 {
                     e.Node.ImageIndex = 1;
                     e.Node.SelectedImageIndex = 1;
                 }
             }
         }

第三部分功能-委托打開新窗口:

復制代碼 代碼如下:

delegate void Mydelegate(string name, string id);
         Mydelegate md = null;
         public frmTree()
         {
             InitializeComponent();
         }
         /// <summary>
         /// 打開新窗口
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
         {
             // 設置顯示圖標的變換
             if(null== e.Node.FirstNode)
             {
                 e.Node.ImageIndex = 1;
                 e.Node.SelectedImageIndex = 0;
             }
             // 打開新的窗口,每一級對應一類窗口
             if (e.Node != null && null == e.Node.FirstNode)
             {
                 string tag =e.Node.Tag.ToString();
                 string name = e.Node.Text.ToString();
                 switch(e.Node.Level)
                 {
                     case 0:
                         this.md= new Mydelegate(OpenForm1);
                         break;
                     case 1:
                         this.md = new Mydelegate(OpenForm2);
                         break;
                     case 2:
                         this.md = new Mydelegate(OpenForm3);
                         break;
                 }
                 md(name, tag);
             }
         }
         /// <summary>
         /// 打開新窗口
         /// </summary>
         /// <param name="name">傳遞參數</param>
         /// <param name="id">傳遞參數</param>
         public static void OpenForm1(string name,string id)
         {
             Form newForm = new Form1();
             newForm.ShowDialog();
         }
         public static void OpenForm2(string name, string id)
         {
             Form newForm = new Form2();
             newForm.ShowDialog();
         }
         public static void OpenForm3(string name, string id)
         {
             Form newForm = new Form3();
             newForm.ShowDialog();
         }

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩中文在线视频| 欧美日韩亚洲精品内裤| 狠狠躁18三区二区一区| 国产精品九九九| 成人精品一区二区三区电影黑人| 亚洲一区二区免费在线| 久久久亚洲网站| 国产精品美女在线| 国产91精品黑色丝袜高跟鞋| 国产精品入口免费视频一| 日韩国产欧美精品在线| 91国产美女视频| 最近2019年好看中文字幕视频| 亚洲一区二区日本| 日韩欧美aⅴ综合网站发布| 中文字幕日韩精品在线观看| 最近2019年手机中文字幕| 欧美特黄级在线| 日韩最新在线视频| 亚洲影视九九影院在线观看| 国产日韩欧美影视| 欧美猛交ⅹxxx乱大交视频| 亲爱的老师9免费观看全集电视剧| 久久躁日日躁aaaaxxxx| 在线观看日韩视频| 97超级碰碰人国产在线观看| 久久久国产视频| 欧美华人在线视频| 国产精品毛片a∨一区二区三区|国| 中文字幕一精品亚洲无线一区| 理论片在线不卡免费观看| 中文字幕亚洲欧美在线| 亚洲精品一区二区在线| 久久精品国产久精国产思思| 日韩免费av片在线观看| 亚洲欧美日韩中文在线制服| 欧美日本高清一区| 91网站在线免费观看| 久久精品成人欧美大片古装| 国产精品视频区1| 青青在线视频一区二区三区| 91豆花精品一区| 久久视频精品在线| 亚洲欧美国产日韩中文字幕| 精品国产乱码久久久久久婷婷| 国产不卡精品视男人的天堂| 这里只有精品丝袜| 色婷婷久久av| 一二美女精品欧洲| 国产剧情日韩欧美| 亚洲福利在线播放| 久久资源免费视频| 国产精品嫩草影院一区二区| 热门国产精品亚洲第一区在线| 欧美专区福利在线| 日韩成人在线视频网站| 欧美一级淫片播放口| 亚洲国产欧美久久| 国产香蕉97碰碰久久人人| 久久99久国产精品黄毛片入口| 久久午夜a级毛片| 日韩欧美亚洲国产一区| 亚洲精品wwwww| 亚洲人成电影网站色| 日韩免费高清在线观看| 久久久999成人| 97视频在线观看免费高清完整版在线观看| 18性欧美xxxⅹ性满足| 最新91在线视频| 中文字幕无线精品亚洲乱码一区| 国产91精品高潮白浆喷水| 中文字幕日韩精品有码视频| 欧美午夜电影在线| 国产成人精品在线观看| 日韩中文在线视频| 精品国产自在精品国产浪潮| 亚洲自拍在线观看| 欧美在线影院在线视频| 久久免费精品视频| 欧美夜福利tv在线| 中文字幕亚洲图片| 亚洲第一中文字幕| 5566日本婷婷色中文字幕97| 国产精品免费在线免费| 91国产一区在线| 欧美性xxxx极品hd欧美风情| 国产亚洲精品一区二555| yellow中文字幕久久| 欧美日韩一区二区免费视频| 欧美放荡办公室videos4k| 亚洲人成网站免费播放| 成人免费视频xnxx.com| 国产伦精品免费视频| 色婷婷综合久久久久| 亚洲欧美激情视频| 久久久97精品| 国产精品黄视频| 大荫蒂欧美视频另类xxxx| 伊人久久大香线蕉av一区二区| 91精品久久久久久久久不口人| 神马国产精品影院av| 大量国产精品视频| 亚洲国产精品va在线观看黑人| 日韩亚洲在线观看| 亚洲一区二区免费在线| 97国产成人精品视频| 亚洲在线第一页| 91av免费观看91av精品在线| 久久综合伊人77777尤物| 亚洲国产精品福利| 国产suv精品一区二区三区88区| 亚洲欧美成人网| 亚洲激情电影中文字幕| 自拍偷拍亚洲区| 国产丝袜一区二区三区免费视频| 久久精品久久久久久国产 免费| 另类专区欧美制服同性| 久久视频在线视频| 一个人看的www久久| 国内精品美女av在线播放| 亚洲一区二区三区视频| 亚洲最新av在线| 国产精品久久久久久五月尺| 国产女人18毛片水18精品| 国产99久久精品一区二区 夜夜躁日日躁| 亚洲精品中文字幕女同| 欧美日韩一区二区免费在线观看| 精品久久久久久久久国产字幕| 91亚洲精华国产精华| 欧美成人激情视频| 黄色成人av在线| 狠狠久久五月精品中文字幕| 38少妇精品导航| 人妖精品videosex性欧美| 亚洲精品国产综合区久久久久久久| 欧美激情视频免费观看| 黄网站色欧美视频| 欧美成人网在线| 亚洲一区二区三区sesese| 国产在线观看精品| 欧美激情中文网| 日韩精品中文字幕在线播放| 久久韩剧网电视剧| 韩国视频理论视频久久| 亚洲精品一区二区久| 日韩在线观看免费全| 欧美大片网站在线观看| 日韩欧美在线看| 日韩经典中文字幕| 永久免费毛片在线播放不卡| 欧美日韩一区二区三区| 日韩美女福利视频| 中文字幕欧美精品在线| 69久久夜色精品国产69| 精品久久久久人成| 国产精品成人观看视频国产奇米| 96精品久久久久中文字幕| 国产精品老女人精品视频| 69久久夜色精品国产69乱青草| 国产欧美在线视频| 少妇精69xxtheporn| 国产成人综合亚洲| 亚洲国产婷婷香蕉久久久久久| 91中文精品字幕在线视频|