• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于C#環(huán)境的上下文菜單設(shè)計(jì)與實(shí)現(xiàn)

      2017-11-06 20:08周淑華
      卷宗 2017年29期
      關(guān)鍵詞:級(jí)聯(lián)控件按鍵

      周淑華

      摘 要:文章針對(duì)上下文菜單控件在工程實(shí)踐中的特殊應(yīng)用需求,提出了一種基于C#環(huán)境的上下文菜單設(shè)計(jì)方法,對(duì)設(shè)計(jì)思路和實(shí)現(xiàn)步驟進(jìn)行了研究和實(shí)踐,并在工程中得到了應(yīng)用,應(yīng)用結(jié)果表明,該設(shè)計(jì)方法正確可行,具有一定推廣應(yīng)用價(jià)值。

      關(guān)鍵詞:上下文菜單;控件設(shè)計(jì)

      在很多工程項(xiàng)目中,上下文菜單是工程開發(fā)中常用的一項(xiàng)功能,不同的編程環(huán)境都提供了標(biāo)準(zhǔn)的菜單控件供用戶直接調(diào)用,比如VS2010編程環(huán)境下的上下文菜單控件ContextMenuStrip,可以使用戶右鍵單擊某個(gè)窗體或控件時(shí)彈出菜單,調(diào)用非常方面。但是,在很多情況下,上下文菜單都是windows標(biāo)準(zhǔn)控件,不允許對(duì)其屬性進(jìn)行深入更改,用戶對(duì)菜單進(jìn)行個(gè)性化設(shè)計(jì)的空間有限,比如,在需要利用用戶自定義的軟鍵盤對(duì)上下文菜單進(jìn)行控制時(shí),實(shí)現(xiàn)起來就比較麻煩。鑒于此,文中提出了一種基于C#環(huán)境的上下文菜單設(shè)計(jì)方案,用戶可以進(jìn)行個(gè)性化設(shè)計(jì)和自主控制,并進(jìn)行了實(shí)驗(yàn)和工程應(yīng)用,應(yīng)用結(jié)果表明,該上下文菜單設(shè)計(jì)方法正確可行,具有一定的推廣應(yīng)用價(jià)值。

      1 上下文菜單設(shè)計(jì)思路

      上下文菜單設(shè)計(jì)采用面向?qū)ο缶幊趟枷?,根?jù)菜單操作需求,對(duì)菜單進(jìn)行充分抽象形成菜單類,設(shè)計(jì)基本思路是:首先,設(shè)計(jì)菜單索引類(INDEX),用于指示各個(gè)菜單項(xiàng)的位置;其次,設(shè)計(jì)菜單項(xiàng)類TITILE,實(shí)現(xiàn)對(duì)菜單的高度、寬度以及是否擁有下級(jí)菜單等特性進(jìn)行個(gè)性化設(shè)置;然后,設(shè)計(jì)級(jí)聯(lián)菜單類(submenu),實(shí)現(xiàn)對(duì)每級(jí)級(jí)聯(lián)中菜單項(xiàng)的添加操作;最后,在上述類設(shè)計(jì)的基礎(chǔ)上,形成上下文菜單類(MENU),在數(shù)字鍵、“上、下、左、右”鍵等按鍵的控制下,實(shí)現(xiàn)用戶對(duì)菜單的彈出、隱藏、菜單項(xiàng)上下切換等操作。

      2 上下文菜單實(shí)現(xiàn)步驟

      (1)菜單索引類(INDEX)設(shè)計(jì)與實(shí)現(xiàn)

      菜單索引類INDEX用于指示級(jí)聯(lián)菜單及菜單項(xiàng)的編號(hào),類屬性主要包括:標(biāo)識(shí)級(jí)聯(lián)菜單的索引(X)和標(biāo)識(shí)級(jí)聯(lián)菜單中菜單項(xiàng)的索引(Y),菜單索引類INDEX的設(shè)計(jì)代碼如下:

      (3)級(jí)聯(lián)菜單類(submenu)設(shè)計(jì)與實(shí)現(xiàn)

      級(jí)聯(lián)菜單類submenu是根據(jù)菜單中每個(gè)菜單項(xiàng)的下級(jí)菜單特性抽象形成的類,類屬性主要包括:級(jí)聯(lián)菜單寬度(width)、菜單索引(index)、上級(jí)菜單項(xiàng)的索引(indexLeft)、是否有上級(jí)菜單(bLeft)和每個(gè)菜單項(xiàng)的內(nèi)容(titleArray)。級(jí)聯(lián)菜單類submenu設(shè)計(jì)代碼如下:

      (4)上下文菜單類(MENU)設(shè)計(jì)與實(shí)現(xiàn)

      上下文菜單類MENU是在菜單索引類(INDEX)、菜單項(xiàng)類(TITILE)、級(jí)聯(lián)菜單類(submenu)設(shè)計(jì)的基礎(chǔ)上,根據(jù)菜單的操作過程及現(xiàn)象,抽象形成的類,它包含了對(duì)菜單的所有操作,類屬性主要包括:橫向顯示閾值(widththreshold)、縱向顯示閾值(heightthreshold)、每個(gè)菜單項(xiàng)顯示的高度(titleheight)、菜單位置(postion)、包含的級(jí)聯(lián)菜單(menuArray)、當(dāng)前菜單索引(myindex)、選中菜單索引(SelIndex)、打開菜單的按鍵值(openkey)和菜單是否打開標(biāo)志(bOpen)。類成員函數(shù)主要包括:繪制菜單函數(shù)(drawMenu())、初始化菜單函數(shù)(initMenu())、按鍵輸入響應(yīng)函數(shù)(input(string key))和增加級(jí)聯(lián)菜單函數(shù)(AddSubmenu(submenu sm))等。

      3 上下文菜單使用流程

      上下文菜單類設(shè)計(jì)完成,在使用過程中可以按照如下流程進(jìn)行使用:第一步,首先定義菜單項(xiàng)(TITILE),并對(duì)每個(gè)菜單項(xiàng)的內(nèi)容進(jìn)行設(shè)置;第二步,定義級(jí)聯(lián)菜單(submenu),將菜單項(xiàng)裝填到級(jí)聯(lián)菜單中去;第三步,定義上下文菜單(MENU),設(shè)置菜單位置和級(jí)聯(lián)菜單個(gè)數(shù);第四步,添加級(jí)聯(lián)菜單AddSubmenu(sm[i]);第六步,繪制菜單(drawMenu());第六步,對(duì)按鍵進(jìn)行響應(yīng)(input(string key))。上下文菜單使用示例代碼如下:

      4、軟件測(cè)試結(jié)果

      根據(jù)文中上下文菜單設(shè)計(jì)思路和實(shí)現(xiàn)方法,筆者成功進(jìn)行了實(shí)驗(yàn),并在工程實(shí)踐中得到了應(yīng)用,應(yīng)用截圖如下圖所示,結(jié)果表明,該設(shè)計(jì)方法正確可行,具有一定推廣應(yīng)用價(jià)值。endprint

      猜你喜歡
      級(jí)聯(lián)控件按鍵
      基于有限狀態(tài)機(jī)的按鍵檢測(cè)程序設(shè)計(jì)
      級(jí)聯(lián)LDPC碼的STBC-OFDM系統(tǒng)
      一種多方向?qū)Ч獍存I結(jié)構(gòu)設(shè)計(jì)
      基于級(jí)聯(lián)MUSIC的面陣中的二維DOA估計(jì)算法
      ASP.NET服務(wù)器端驗(yàn)證控件的使用
      LCL濾波器在6kV級(jí)聯(lián)STATCOM中的應(yīng)用
      H橋級(jí)聯(lián)型STATCOM的控制策略研究
      按鍵的多種狀態(tài)檢測(cè)及消抖處理方法
      解析某型號(hào)手機(jī)按鍵檢測(cè)程序的缺陷
      Spreadsheet控件在Delphi數(shù)據(jù)庫(kù)系統(tǒng)中的編程與應(yīng)用
      临夏市| 海林市| 孙吴县| 定结县| 罗定市| 嘉定区| 广丰县| 子洲县| 河津市| 德令哈市| 夏邑县| 霍林郭勒市| 望城县| 温宿县| 庆元县| 辰溪县| 广丰县| 凤山县| 乐陵市| 新化县| 闽侯县| 禹州市| 彩票| 且末县| 揭东县| 腾冲县| 崇明县| 洞头县| 新竹县| 应城市| 高邑县| 常州市| 诸暨市| 黔江区| 潮安县| 新兴县| 明光市| 平湖市| 揭西县| 育儿| 任丘市|