選單是軟體介面設計的乙個重要組成方面。它描述著乙個軟體的大致功能和風格。所以在程式設計中處理好、設計好選單,對於乙個軟體開發是否成功有著比較重要的意義。
visual c#是.net框架中的乙個重要組成部分,也是微軟公司推出的下一代主流程式開發語言。它在設計、開發程式介面的時候和以前的某些程式開發語言有所不同。這一點也表現在其的選單程式設計方面。本文就是來**一下如何用visual c#進行選單程式設計。
面向選單程式設計中遇到的主要的問題大致可以分為二種:新增選單項、刪除選單項。當然在處理以上二類問題時候,還會遇到諸如:如何新增選單項所對應的事件,如何為選單項新增快捷鍵等一些小的問題。下面就這些問題來具體進行論述。
一. 程式設計和執行環境
(1)微軟視窗2000伺服器版本
(2).net framework sdk beta 2
二. 程式的主要功能
在本程式中,已經定義了二個主選單項。程式的主要功能是通過"新增選單"按鈕在第二個主選單項下(即"執行選單專案"下)加入乙個子選單。通過"刪除選單"按鈕刪除第二個主選單項中的最後乙個子選單。下圖01是"新增選單"按鈕按動三次後的介面,圖02是在"新增按鈕"按動三次後,在按動"刪除選單"按鈕後的程式執行介面:
圖01:"新增選單"按鈕按動三次後的介面
圖02:在"新增按鈕"按動三次後,在按動"刪除選單"按鈕後的介面
三. 選單設計中遇到的主要問題及解決辦法
(1)如何動態加入乙個選單專案
在.net framework sdk中有乙個叫做system.windows.forms.dll檔案,其中定義了乙個名為system.windows.froms的命名空間,此命名空間中封裝了很多和介面設計相關的類、物件。visual c#在進行選單程式設計的時候就需要用到在此命名空間中定義的二個物件:mainmenu、menuitem。用過delphi的程式設計師都知道在在delphi中,也有mainmenu這個物件,mainmenu在程式設計中表現為選單項的容器,而menuitem就是要往這個容器中新增的內容。所以在乙個窗體中這種容器往往只需要乙個,即需要乙個mainmenu,但卻往往要多個menuitem,即需要多個選單項。通過以下二個例子來具體說明如何進行選單加入操作
例01:只是在窗體中加入乙個主選單專案:
using system.windows.forms ;
class runtimemenus : form
private mainmenu mymenu ;
private menuitem mnufile ;
public runtimemenus ( )
//初始化 main menus
mymenu = new mainmenu ( ) ;
mnufile = new menuitem ( "檔案" ) ;
x = new menuitem ( "檔案" ) ;
//往 main menu裡面加入選單
mymenu.menuitems.add ( mnufile ) ;
this.menu = mymenu ;
public static void main ( )
成功程式編譯後執行介面如下:
using system ;
using system.windows.forms ;
class runtimemenus : form
private mainmenu mymenu ;
private menuitem mnufile,mnuexit ;
public runtimemenus ( )
//初始化 main menus
mymenu = new mainmenu ( ) ;
mnufile = new menuitem ( "檔案" ) ;
//設定子選單的響應事件和快捷鍵
mnuexit = new menuitem ( "退出" , new eventhandler ( btnclose_click ) , shortcut.ctrlx ) ;
//往 main menu裡面加入選單
mymenu.menuitems.add ( mnufile ) ;
mnufile.menuitems.add ( mnuexit ) ;
this.menu = mymenu ;
protected void btnclose_click ( object sender , eventargs e )
public static void main ( )
成功編譯此例子後,執行就可以得到如下介面
圖04:加入子選單並設定快捷鍵和響應事件
通過以上二個小例子,我們就可以基本掌握如何正確新增主選單和子選單,並為之設定快捷鍵和響應事件。
(2)如何動態刪除選單:
刪除選單比起新增乙個選單要來的相對容易了許多。在刪除的時候,主要用到的是menuitem物件的removeat方法,此方法說帶的引數是乙個整型,是乙個子選單在主選單中由上到下的相對位置,譬如以下語言:
mnurtime.menuitems.removeat ( 2 ) ;
意思是在mnurtime主選單中刪除由上到下的第三個子選單。(由上至下第乙個對應的指是"0")。
四. 程式源**(menu.cs)
using system ;
using system.windows.forms ;
using system.drawing ;
using system.componentmodel ;
class runtimemenus : form
private mainmenu mymenu ;
private menuitem mnufile , mnuexit , mnurtime ;
private button btnadd , btnremove , btnclose ;
static int i ;
public runtimemenus ( )
initializecomponents ( ) ;
public void initializecomponents ( )
//初始化 main menus
mymenu = new mainmenu ( ) ;
mnufile = new menuitem ( "檔案" ) ;
mnurtime = new menuitem ( "執行選單專案" ) ;
//往 main menu裡面加入選單
mymenu.menuitems.add ( mnufile ) ;
mymenu.menuitems.add ( mnurtime ) ;
//初始化 exit 選單項,設定了事件和快捷鍵
mnuexit = new menuitem ( "退出" , new eventhandler ( btnclose_click ) , shortcut.ctrlx ) ;
//把選單項加入到檔案file選單中
mnufile.menuitems.add ( mnuexit ) ;
//初始化新增按鈕
btnadd = new button ( ) ;
btnadd.location = new point ( 275 , 20 ) ;
btnadd.text = "新增選單" ;
btnadd.click += new eventhandler ( btnadd_click ) ;
btnadd.size = new size ( 100 , 30 ) ;
//初始化刪除按鈕
btnremove = new button ( ) ;
btnremove.location = new point ( 275 , 60 ) ;
btnremove.text = "刪除選單" ;
btnremove.click += new eventhandler ( btnremove_click ) ;
btnremove.size = new size ( 100 , 30 ) ;
//初始化關閉按鈕
btnclose = new button ( ) ;
btnclose.location = new point ( 275 , 100 ) ;
btnclose.text = "退出" ;
btnclose.click += new eventhandler ( btnclose_click ) ;
btnclose.size = new size ( 100 , 30 ) ;
//在窗體中加入按鈕
this.controls.add ( btnadd ) ;
this.controls.add ( btnremove ) ;
this.controls.add ( btnclose ) ;
//設定窗體的屬性
this.maximizebox = false ;
this.minimizebox = false ;
this.text = "動態處理選單程式視窗!" ;
VisualC 的選單程式設計
1 微軟視窗2000伺服器版本 2 net framework sdk beta 2 二.程式的主要功能 在本程式中,已經定義了二個主選單項。程式的主要功能是通過 新增選單 按鈕在第二個主選單項下 即 執行選單專案 下 加入乙個子選單。通過 刪除選單 按鈕刪除第二個主選單項中的最後乙個子選單。下圖0...
Visual C 的Excel程式設計
excel是微軟公司辦公自動化套件中的乙個軟體,他主要是用來處理電子 excel以其功能強大,介面友好等受到了許多使用者的歡迎。在辦公的時候,正是由於excel的這麼多的優點,許多重要的資料,往往以excel電子 的形式儲存起來。這樣就給程式設計師帶來了乙個問題,雖然excel功能比較強大,但畢竟不...
Visual C 的SQL Server程式設計
visual c 的sql server程式設計 初始設定 首先,我們需在應用系統中安裝sql server 2000,microsoft ole db provider for sql server sql ole db 也會同時被自動安裝,接著用sql server的enterprise man...