zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    jQuery(3)——DOM操作
    jQuery(2)——选择器
    jQuery(1)——了解jQuery
    JavaScript(10)——Ajax以及跨域处理
    JavaScript(9)——call与apply
    JavaScript(8)——JSON
    JavaScript(7)——事件2.0
    JavaScript(6)——事件1.0
    JavaScript(5)——DOM
    spring mvc+spring+mybatis搭建javaWeb项目时遇到的一些问题
  • 原文地址:https://www.cnblogs.com/gisoracle/p/4371349.html
Copyright © 2011-2022 走看看