<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      yunxizfj

      等待...

      導(dǎo)航

      根據(jù)數(shù)據(jù)庫表動態(tài)添加菜單及打開窗體

      1.引用TabMid.dll 及Janus系列DLL

      2.在主界面上拖入Janus.Windows.ButtonBar和System.Windows.Forms.MenuStrip,及

      System.Windows.Forms.TabControl控件并布局

      3.窗體加載中,先對TabMid.TabMidForm或TabMid.BarMidForm的屬性ApplicationNameSpace賦值,應(yīng)

      用程序的命名空間,示例:

       

      tb.ApplicationNameSpace = "MidTest";

      4.窗體加載中,查詢菜單表tbMemu,返回DataTable,并調(diào)用CreatMemu創(chuàng)建菜單,設(shè)置單擊事件委托

      方法,創(chuàng)建菜單代碼調(diào)用示例和綁定委托方法示例:

       

      tb.CreatMemu(menuStrip1.Items, dt, "0");
      bf.CreatMemu(buttonBar1, dt);
      tb.MemuClickFunction 
      = MemuClickT;
      bf.MemuClickFunction 
      = BarMemuClickT;

      5.ButtonBar圖標(biāo)說明:在主界面上拖入System.Windows.Forms.ImageList并添加圖標(biāo)項(xiàng),在數(shù)據(jù)庫

      表tbMemu里的字段flngICO設(shè)置相應(yīng)的Index(必須設(shè)置)


      6.在委托方法中調(diào)用TabMidFormShow或BarMidFormShow方法打開窗體,單擊委托方法示例:


      private void MemuClickT(object sender, EventArgs e)
              {
                  
      //打開窗體
                  ToolStripMenuItem tab = (ToolStripMenuItem)sender;
                  tb.TabMidFormShow(tct, tab.Tag.ToString(), tab.Text);            
              }
              
      private void BarMemuClickT(object sender,Janus.Windows.ButtonBar.ItemEventArgs 

      e)
              {
                  
      //打開窗體
                  Janus.Windows.ButtonBar.ButtonBarItem itm = 

      (Janus.Windows.ButtonBar.ButtonBarItem)sender;
                  bf.BarMidFormShow(tct, itm.Tag.ToString(), itm.Text);
              }

      7.最后在TabControl控件的雙擊事件中加入關(guān)閉TAB的代碼,示例:

       

      private void tct_DoubleClick(object sender, EventArgs e)
              {
                  
      //關(guān)閉窗體
                  int i = tct.SelectedIndex;
                  tct.TabPages.RemoveAt(i);
              }

      8.關(guān)于權(quán)限控制菜單,可以根據(jù)權(quán)限表和菜單表創(chuàng)建一個視圖,只要視圖中包含tbMemu表中的所有列

      即可

      9.添加新的窗體后,將窗體的命名空間修改為一層,如:MidTest。再在數(shù)據(jù)庫表tbMemu添加一條新

      記錄:
      fstrCode  窗體的類名
      fstrName  菜單的TEXT
      flngFatherID  上級菜單的flngID
      flngICO   ButtonBar圖標(biāo),看第5步驟


       下載源碼

       

      原理:通過數(shù)據(jù)庫表的結(jié)構(gòu)和數(shù)據(jù)使用遞歸方式創(chuàng)建菜單的項(xiàng),再根據(jù)菜單項(xiàng)使用System.Activator.CreateInstance的方式創(chuàng)建窗體并顯示

      posted on 2009-11-03 12:06  yunxizfj  閱讀(1367)  評論(0)    收藏  舉報

      主站蜘蛛池模板: 日韩一区日韩二区日韩三区| 野花社区www视频日本| 久久综合激情网| 日本精品aⅴ一区二区三区| 内射无套内射国产精品视频| 99精品国产兔费观看久久99| 精品久久久无码中文字幕| 俄罗斯老熟妇性爽xxxx| 色伦专区97中文字幕| 佛教| 日本人妻巨大乳挤奶水免费| 99在线精品国自产拍中文字幕| 波密县| 亚洲精品一二三四区| 国产区免费精品视频| 精品视频不卡免费观看| 国产一区二区av天堂热| 国内精品大秀视频日韩精品| 久久天堂无码av网站| 亚洲人午夜精品射精日韩| 国产精品99精品久久免费| 日韩中文字幕亚洲精品一| 久久综合伊人77777| 国产在线不卡精品网站| 亚洲区综合中文字幕日日| 亚洲精品国模一区二区| 尖扎县| 久久国内精品自在自线91| 东京一本一道一二三区| 蜜桃无码一区二区三区| 日韩av日韩av在线| 国产破外女出血视频| 中国女人高潮hd| 亚洲美女av一区二区| 无码成a毛片免费| 欧洲亚洲精品免费二区| 亚洲熟女乱综合一区二区三区| 2020精品自拍视频曝光| 亚洲乱色熟女一区二区蜜臀| 精品精品亚洲高清a毛片| 97成人碰碰久久人人超级碰oo|