国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

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

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

周淑華

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

關鍵詞:上下文菜單;控件設計

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

1 上下文菜單設計思路

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

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

(1)菜單索引類(INDEX)設計與實現(xiàn)

菜單索引類INDEX用于指示級聯(lián)菜單及菜單項的編號,類屬性主要包括:標識級聯(lián)菜單的索引(X)和標識級聯(lián)菜單中菜單項的索引(Y),菜單索引類INDEX的設計代碼如下:

(3)級聯(lián)菜單類(submenu)設計與實現(xiàn)

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

(4)上下文菜單類(MENU)設計與實現(xiàn)

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

3 上下文菜單使用流程

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

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

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

猜你喜歡
級聯(lián)控件按鍵
基于有限狀態(tài)機的按鍵檢測程序設計
級聯(lián)LDPC碼的STBC-OFDM系統(tǒng)
一種多方向?qū)Ч獍存I結(jié)構(gòu)設計
基于級聯(lián)MUSIC的面陣中的二維DOA估計算法
ASP.NET服務器端驗證控件的使用
LCL濾波器在6kV級聯(lián)STATCOM中的應用
H橋級聯(lián)型STATCOM的控制策略研究
按鍵的多種狀態(tài)檢測及消抖處理方法
解析某型號手機按鍵檢測程序的缺陷
Spreadsheet控件在Delphi數(shù)據(jù)庫系統(tǒng)中的編程與應用
织金县| 株洲县| 清水河县| 阜康市| 长治市| 黔江区| 湛江市| 棋牌| 石城县| 武安市| 长乐市| 铜川市| 新平| 泰顺县| 常宁市| 色达县| 旬邑县| 清原| 墨江| 沽源县| 明星| 大庆市| 芜湖市| 东至县| 桦南县| 万山特区| 揭阳市| 东阳市| 都兰县| 吴川市| 石柱| 黄石市| 宣威市| 波密县| 内丘县| 吴川市| 双峰县| 红河县| 浪卡子县| 阿克陶县| 五原县|