程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C# DataGridView,右鍵單擊RowHeader時顯示右鍵菜單怎麼做?,

C# DataGridView,右鍵單擊RowHeader時顯示右鍵菜單怎麼做?,

編輯:C#入門知識

C# DataGridView,右鍵單擊RowHeader時顯示右鍵菜單怎麼做?,


    private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)         {             if( e.ColumnIndex==-1)             {                 MessageBox.Show("這裡是行頭");             }         }       private void dataGridView1_RowHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)         {             if(e.Button==MouseButtons.Right)             {                 //加入顯示右鍵彈出菜單             }         }   可以肯定,樓上的代碼都未經測試。注意:樓主要的是在行頭,就是標題行上點擊右鍵,出現快捷菜單。
而且,CellClick 是不響應右鍵的,所以,只有在 CellMouseClick 事件中才能響應右鍵.(RowHeaderMouseClick 也有響應,但是不知道為什麼,我的 VS2005 沒有反應,所以不推薦使用)
private void dgv_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
        {
            // 判斷是否右鍵點擊
            if (e.Button == MouseButtons.Right)
            {
                // 得到點擊所在的行和列信息。相關函數查 MSDN
                DataGridView.HitTestInfo hitinfo = dgv_verify.HitTest(e.X, e.Y);
                // 如果 RowIndex < 0,就是標題行了。 
                if (hitinfo.RowIndex < 0)
                {
                    // 如果你只要指定的列顯示菜單,則加入對 hitinfo.ColumnIndex 的判斷
                    contextMenuStrip1.Show(MousePosition.X, MousePosition.Y);
                }
            }
        }

===============================================================
以上代碼經過測試,在 VS2005 和 VS2008 下運行正常。
有什麼問題,再問我吧。 來自:http://bbs.csdn.net/topics/370259768

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved