DataGridView通过鼠标右键选中行
来源:互联网 发布:淘宝我的店铺在哪里找 编辑:程序博客网 时间:2024/06/06 00:23
新方法DataGridView通过鼠标右键选中行
private void dataGridView1_CellMouseDown(object sender, DataGridViewCellMouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
if (e.RowIndex >= 0)
{
dataGridView1.ClearSelection();
dataGridView1.Rows[e.RowIndex].Selected = true;
dataGridView1.CurrentCell = dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex];
contextMenuStrip1.Show(MousePosition.X, MousePosition.Y);
}
}
}
}
在DataGridView中的CurrentRow属性为只读,且其Index也不能动态设置,故只能在DataGridView中用左键来选择行,从而实现当前行的定位。
现在要实现在DataGridView中单击右键实现左键的功能,代码如下:
private void dataGridView1_CellMouseDown(object sender, DataGridViewCellMouseEventArgs e)
{
if (e.Button == MouseButtons.Right && e.RowIndex > -1 && e.ColumnIndex > -1)
{
dataGridView1.CurrentRow.Selected = false;
dataGridView1.Rows[e.RowIndex].Selected = true;
}
}
DatagridView的CellMouseDown事件添加如上代码,在不考虑注释代码的情况下,可以实现对当前选中行的不显示选中,而对鼠标右击的行实现选中
这样存在一个问题,CurrentRow的属性仍然为之前的哪个值,即使将鼠标右键选中的行的Selected设置为True也不能改变。
而在将注释代码注销后即可同时改变CurrentRow的属性,这样以后编码方便多了!
当然在对CurrentCell赋值的时候别忘了判断鼠标右击到DataGridView边框行列的情况
以上本文来自CSDN博客:http://blog.csdn.net/Adi_liu/archive/2009/01/07/3725230.aspx
<===========================================>
由于本人要实现的是在dataGridView中通过右键所在位置是否为数据行,没有则禁用部份菜单项。
以上代码无法判断右键是否在空置,代码修改如下:
{
DataGridView.HitTestInfo rows = this.dataGridView1.HitTest(e.X, e.Y);
if (e.Button == MouseButtons.Right)
{
if (rows.RowIndex > -1)
{
this.dataGridView1.ClearSelection();
this.dataGridView1.CurrentRow.Selected = false;
this.dataGridView1.Rows[rows.RowIndex].Selected = true;
else
{
}
}
}
- DataGridView通过鼠标右键选中行
- DataGridView通过鼠标右键选中行
- DataGridView右键选中行
- DataGridView上点击鼠标右键时选中行的方法
- C#DataGridView 右键默认选中行
- datagridview右键选中一行
- WinForm DataGridView 鼠标右键
- WinForm DataGridView 鼠标点击选中整行
- 禁用鼠标右键,选中
- C# 关于在datagridview选中行上添加右键
- DataGridView右键单击弹出菜单并选中行
- C#中DataGridView控件鼠标点击选中行的问题
- DataGridView右键点击行时选中行,并且弹右键快捷菜单
- DataGridView右键点击行时选中行,并且弹右键快捷菜单
- dataGridView右键菜单并选中该行
- DataGridView右键选中某单元格(C# Winfrom)
- DataGridView右键选中某单元格-C#
- dataGridView右键菜单并选中该行
- JavaScript之类型
- make_pair
- EGL语言教程之一:变量与数据类型
- 模拟移动机器人控制(二)
- sax解释xml
- DataGridView通过鼠标右键选中行
- 2012年3月27日23:28:05
- tabview 增加手势判断UIPanGestureRecognizer
- Brackets-学习DP2
- 成功的路上会布满荆棘
- mysql 版本查看:
- 设计模式:单例中的 饿汉式 与懒汉式
- 内存优化的两个类:SoftReference 和 WeakReference
- tomcat无法成功打开,因为设置catalina_home的时候在最后加了“;”符号