Windows窗體之創(chuàng)建動態(tài)上下文菜單_第1頁
Windows窗體之創(chuàng)建動態(tài)上下文菜單_第2頁
Windows窗體之創(chuàng)建動態(tài)上下文菜單_第3頁
Windows窗體之創(chuàng)建動態(tài)上下文菜單_第4頁
免費預覽已結束,剩余1頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、Windows 窗體之創(chuàng)建動態(tài)上下文菜單若要節(jié)省創(chuàng)建應用程序所需的時間并減少代碼量,可以讓多個控件共享單個上下文菜單對象。利用一個只包含該控件必需菜單項的“動態(tài)”上下文菜單(或快捷方式菜單)可以減少應用程序中控件所需的上下文菜單總數(shù)。以下演練顯示如何更改每個控件的菜單項。創(chuàng)建應用程序以下步驟將創(chuàng)建一個 Windows 應用程序, 它具有包含兩個控件的窗體。在運行時,如果右擊每個控件(只要它具有焦點,即被選定),將顯示相應的上下文菜單。CheckBox 控件的上下文菜單將包含三RadioButton 控件的上下文菜單將包含兩個項;個項。在 Windows 窗體上創(chuàng)建動態(tài)上下文菜單1. 創(chuàng)建新的

2、Windows 應用程序。2. 將一個“復選框”( CheckBox) 控件和一個“ RadioButton ”控件從“工具箱”拖到窗體上。雖然任何兩個(或更多個)控件都可以共享一個上下文菜單,但使具有類似命令的控件共享上下文菜單也是有好處的,因為這樣可以減少必需動態(tài)顯示及隱藏的量。3.雙擊工具箱”中的“ ContextMenu”組件,將其添加到窗體中。它將成為共享的上下文菜單。4. 在“屬性”窗口中, 將 CheckBox 控件和 RadioButton 控件的 ContextMenu 屬性設置為 ContextMenu1 (在 C# 中為 contextMenu1 )。5.在“屬性”窗口中

3、,將 CheckBox控件的ThreeState 屬性設置為true 。6.從設計器中雙擊ContextMenu組件,為該組件的Popup事件創(chuàng)建默認的處理程序。在事件處理程序中插入執(zhí)行以下任務的代碼:添加兩個菜單項,一個表示控件的Checked狀態(tài),另一個表示Un checked狀態(tài)。用If 語句檢驗CheckBox控件是否為窗體上的 SourceControl 。根據(jù)檢驗結果,動態(tài)地添加第三個菜單項,該菜單項表示控件的In determi nate狀態(tài)。以下示例顯示如何使用 Add方法來設置菜單項的 Text屬性以及如何定義與該菜單項相關聯(lián)的事件處理程序。P rivate void con

4、textMenu1_ Popup(object sender, System.EventArgs e()contextMenu1.Menultems.ClearcontextMenu1.Menultems.AddChecked,newSystem.EventHandler(this.CheckedOnClick );contextMenu1.Menultems.AddUnchecked,newSystem.EventHandler(this.UncheckedOnClick );if ( contextMenu1.SourceControl = checkBox1this.contextMen

5、u1.MenuItems.Add( Indeterminate,newSystem.EventHandler(this.lndeterminate_OnClick );為Menultem1創(chuàng)建一個事件處理程序。添加如下代碼,檢驗窗體的SourceControlp rotected void Checked_OnClick( System.Object sender, System.EventArgs eif ( contextMenu1.SourceControl = radioButton1radioButtonl.Checked = true;else if (contextMenu1.S

6、ourceControl = checkBox1 )checkBoxl.Checked = true;注意:此示例在 In determi nate On Click事件處理程序中使用 Checkstate 屬性將 Checkbox 控件設置為 In determi nate為Menultem2創(chuàng)建類似的事件處理程序。為該事件處理程序輸入如下代碼:p rotected void Unchecked_OnClick( System.Object sender, System.EventArgs eif ( contextMenu1.SourceControl = radioButton1radioButton1.Checked = false;else if (contextMenu1.SourceControl = checkBox1 )checkBox1.Checked = false;為Menultem3創(chuàng)建類似的事件處理程序。為該事件處理程序輸入如下代碼,確保 將事件命名為 In determi nate On Clickp rotected void Indeterminate_OnClick(System.Object sender, System.EventArgs eif (c

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論