2012-03-21 47 views
0

當用戶打開DataGridViewComboBoxCell更改其選擇並右鍵單擊列出的項目之一時,如何觸發事件?我想在用戶右鍵單擊下拉菜單中的某些項目時顯示上下文菜單。當在編輯模式下在DataGridViewComboBoxCell中右鍵單擊項目時顯示上下文菜單

我一般都知道如何顯示上下文菜單,當用戶在編輯模式下右鍵單擊組合框時(當用戶從​​下拉列表中選擇項目時,我無法弄清楚如何觸發事件下)

+0

這是一個真正的問題嗎?它像GUI同義反復 - 你能向我們解釋爲什麼你需要在ComboBox上(一個網格中)有一個Popup菜單嗎? – 2012-03-22 01:15:39

+0

我已經找到了答案JonF,'這是第二個解決方案'在這篇Microsoft知識庫文章中:http://support.microsoft.com/kb/168702但用戶不得不跳上一條腿摩擦他們的頭頂在順時針方向 – 2012-03-22 21:18:53

回答

1
private void dataGridView1_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e) 
{ 
    if (e.Button == MouseButtons.Right) 
    { 
     contextMenuStrip1.Show(); 
    } 
} 

我會解釋我是如何逐步做到了:

  1. 加入電網,形成

  2. 添加一個組合框列網格使用RAD工具

  3. 設置爲comboxColumn一個數據源,例如

    Column1.DataSource =新的字符串[] { 「位置A」, 「位置B」};

  4. 添加文本菜單,形成

  5. 添加項目到文本菜單

  6. 設置網格ContextMenuStip屬性contextMenuStrip1

  7. 雙擊CellMouseClick - 在網格屬性窗口事件列表和添加上面顯示的代碼:

+0

這適用於組合框「關閉」時,但是當它打開以更改選擇時它不會觸發事件 – JonF 2012-03-22 12:38:33

+0

http://stackoverflow.com/questions/1581627/unable-to-detect - 右 - 點擊鼠標功能於組合框 – 2012-03-22 21:47:11

相關問題