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 下运行正常。
有什么问题,再问我吧。
C# DataGridView,右键单击RowHeader时显示右键菜单怎么做?的更多相关文章
- 【winfrom-右击快捷菜单】右击或左击时显示快捷菜单
拖个contextMenuStrip控件 按钮的MouseDown事件: private void treeView1_MouseDown(object sender, MouseEventArgs ...
- winform的datagridview单元格输入限制和右键单击datagridview单元格焦点跟着改变
在datagridview的EditingControlShowing事件里面添加代码: if (this.dgv_pch.Columns[dgv_pch.CurrentCell.ColumnInde ...
- 如何设置鼠标右键单击返回ppt上一页
点击“powerpoint选项”,选择“高级” 将“幻灯片放映”选项下“鼠标右键单击时显示菜单(E)”前面的钩去掉.图为处理过的.
- c# DataGridView在使用DataSource时,只显示指定的列或禁止自动生成列
可通过设置DataGridView控件的AutoGenerateColumns属性来处理. //禁止自动生成列,以下场景会用到:数据源的列超过需要展示的列 this.gridDevice.AutoGe ...
- jquery禁用右键单击功能屏蔽F5刷新
1.禁用右键单击功能$(document).ready(function() { $(document).bind("contextmenu",function(e) { aler ...
- jquery禁用右键单击、F5刷新
1.禁用右键单击功能 $(document).ready(function() { $(document).bind("contextmenu",function(e) { ale ...
- Ztree右键事件,如何让指定的子节点不显示右键菜单。
这里我记录一下我自己的解决方案: 1.首先在Ztree的setting设置中加一个鼠标右键回调函数onRightClick,然后在加一个beforeRightClick(具体含义可以看官方API) v ...
- WIN10家庭版桌面右键单击显示设置出现ms-settings:display或ms-settings:personalization-background解决办法[原创]
最近,笔者的笔记本卸载oracle数据库,注册表里面删除了不少相关信息,没想到担心的事情还是来了!桌面右键单击显示设置出现ms-settings:display或ms-settings:persona ...
- Flex中如何通过showAllDataTips属性使鼠标移动到图表时显示所有的数据Tips的例子
原文 http://blog.minidx.com/2008/11/10/1616.html 接下来的例子演示了Flex中如何通过showAllDataTips属性,使鼠标移动到图表时显示所有的数据T ...
随机推荐
- leetcode_919. Complete Binary Tree Inserter_完全二叉树插入
https://leetcode.com/problems/complete-binary-tree-inserter/ 给出树节点的定义和完全二叉树插入器类的定义,为这个类补全功能.完全二叉树的定义 ...
- Jquery中children与find之间的区别
<table id="tb"> <tr> <td>0</td> <td>1</td> <td>2 ...
- Java sleep方法的作用(sleep())
sleep() 方法的作用是在指定的毫秒数内让当前“正在执行的线程”休眠(暂停执行).这个“正在执行的线程”是指 this.currentThread() 返回的线程. 例 1 下面通过一个案例来理解 ...
- 连接mysql 2003 Can't connect to Mysql on 'xxx'(10061)
备份 cp /etc/mysql/my.cnf /etc/mysql/my.cnf.bak 修改 vim /etc/mysql/my.cnf 在[mysqld]下修改为bind-address=0.0 ...
- 普通平衡树(treap)
题干:6种操作: 1. 插入x数 2. 删除x数(若有多个相同的数,因只删除一个) 3. 查询x数的排名(若有多个相同的数,因输出最小的排名) 4. 查询排名为x的数 5. 求x的前驱(前驱定义为小于 ...
- 201621123079《java程序设计》第六周作业总结
作业06-接口.内部类 1. 本周学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装.继承.多态为核心概念画一张思维导图或相关笔记,对面向对象思想进行一个总结. 2. 书面作业 1. c ...
- Vue如何在webpack设置代理解决跨域问题
在开发过程中我们请求数据有时候调用的是第三方接口,此时便会遇到一个问题:跨域限制.对于跨域问题的解释就不详细叙述了,要了解的请自行百度.一般跨域问题控制台会报这个错: ...
- 0元免费领《JAVA日志》教程,天啦噜!
天啦,老码疯了!辛辛苦苦,费心费力准备的<java日志实战及解析>教程真的不要钱了吗? 作为添物网的小编,每天看着老码为了给大家录制课程,加班加点的做课件,为了保证课程的质量,老码一遍又一 ...
- C#静态构造函数和非静态构造函数
// 使用静态构造函数时,需要注意几点 //1. 一个类中,最多只能有一个静态构造函数,不允许静态构造函数的重载: //2. 不能加任何访问修饰符(public/private/internale等) ...
- [HDU2896]病毒侵袭(AC自动机)
传送门 题目中文描述,赞! 除了val记录id以外就是模板. 注意:每次数组都要清0.0 ——代码 #include <cstdio> #include <queue> #in ...