原創(chuàng)|其它|編輯:郝浩|2012-10-11 14:12:17.000|閱讀 11467 次
概述:右鍵菜單肯定是GridView中經常要使用的一個功能。本文主要描述兩個方面:如何在GridView中添加右鍵菜單,以及如何設置菜單是否可用(enable)。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
右鍵菜單肯定是GridView中經常要使用的一個功能。本文主要描述兩個方面:如何在GridView中添加右鍵菜單,以及如何設置菜單是否可用(enable)。
1.在VS工具箱中的“菜單和工具欄”找到ContextMenuStrip控件,雙擊添加。
2.點擊ContextMenuStrip右上方的小三角形,打開編輯項,可以添加菜單項。至于菜單點擊事件,這里就不多說了。
3.選擇gridControl(注意這里不是gridView的屬性),在屬性中可以找到ContextMenuStrip屬性,設置成剛添加的ContextMenuStrip。
這樣的話,運行起來右擊表格就可以看到右鍵菜單了。
在不同情況下,例如選中行的個數(shù)以及內容的不同,右鍵菜單的菜單項是否可用需要作出判斷。例如最上面的一張圖片。
這里實現(xiàn)一個最簡單的,如下圖:
在單選時,“打開”(itemOpen)、“刪除”(itemDelete)菜單項都可用,多選時“打開”不可用,“刪除”可用,沒有選擇時“打開”、“刪除”都不可用。這里需要用到gridView的PopupMenuShowing這個事件。也就是在菜單出現(xiàn)之前用戶點擊右鍵之后,來判斷一下選擇了幾行,從而決定菜單項是否可用。
讀者可能會想到MouseDown事件,我也是之前用過這個想來實現(xiàn)這個功能,但是出現(xiàn)問題了。問題是順序問題,在MouseDown事件執(zhí)行的時候,右擊會產生重新選擇行的效果還沒有生效,也就是獲取的選擇行是點擊鼠標之前的選中行。這樣肯定會有問題。而PopupMenuShowing是重新選擇后再調用。
下面給出代碼:
private void gridView_PopupMenuShowing(object sender, DevExpress.XtraGrid.Views.Grid.PopupMenuShowingEventArgs e) { //獲取選擇的行數(shù) intselect = gridView.SelectedRowsCount; itemOpen.Enabled = false; itemDelete.Enabled = false; if(select == 1) { itemOpen.Enabled = true; itemDelete.Enabled =true; } elseif (select > 1) { itemDelete.Enabled =true; } }
本站文章除注明轉載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:網絡轉載