C#单击鼠标右键选中当前的行

lipeihui0 2009-12-17 11:39:40
在dataGridView控件区域中,单击鼠标右键,选中当前行。然后弹出一个右键菜单;
...全文
437 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
flyerwing 2009-12-18
  • 打赏
  • 举报
回复
dataGridView1.Select(dataGridView1.CurrentCell.RowNumber);
wzhymxz 2009-12-18
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 flyfly2008 的回复:]
引用 6 楼 sufei1013 的回复:
dataGridView1的SelectionMode属性设为FullRowSelect
ContextMenuStrip属性指定一个contextMenuStrip右键菜单


处理一样鼠标单击事件就行了
private void dataGridView1_MouseClick(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Right)
            {
                DataGridView.HitTestInfo hit = this.dataGridView1.HitTest(e.X, e.Y);
                if (hit.Type == DataGridViewHitTestType.Cell)
                {
                    this.dataGridView1.Rows[hit.RowIndex].Selected = true;
                    this.contextMenuStrip1.Show(this.dataGridView1, e.X, e.Y);
                }
            }
        }




UP  6#的
[/Quote]

根本就没实现右键选取功能啊!
flyfly2008 2009-12-18
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 sufei1013 的回复:]
dataGridView1的SelectionMode属性设为FullRowSelect
ContextMenuStrip属性指定一个contextMenuStrip右键菜单


处理一样鼠标单击事件就行了
private void dataGridView1_MouseClick(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Right)
            {
                DataGridView.HitTestInfo hit = this.dataGridView1.HitTest(e.X, e.Y);
                if (hit.Type == DataGridViewHitTestType.Cell)
                {
                    this.dataGridView1.Rows[hit.RowIndex].Selected = true;
                    this.contextMenuStrip1.Show(this.dataGridView1, e.X, e.Y);
                }
            }
        }

[/Quote]


UP 6#的
苏飞论坛 2009-12-18
  • 打赏
  • 举报
回复
dataGridView1的SelectionMode属性设为FullRowSelect
ContextMenuStrip属性指定一个contextMenuStrip右键菜单


处理一样鼠标单击事件就行了
private void dataGridView1_MouseClick(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
DataGridView.HitTestInfo hit = this.dataGridView1.HitTest(e.X, e.Y);
if (hit.Type == DataGridViewHitTestType.Cell)
{
this.dataGridView1.Rows[hit.RowIndex].Selected = true;
this.contextMenuStrip1.Show(this.dataGridView1, e.X, e.Y);
}
}
}
fengling2001 2009-12-17
  • 打赏
  • 举报
回复

private void dataGridView1_MouseClick(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
DataGridView.HitTestInfo hit = this.dataGridView1.HitTest(e.X, e.Y);
if (hit.Type == DataGridViewHitTestType.Cell)
{
this.dataGridView1.Rows[hit.RowIndex].Selected = true;
this.contextMenuStrip1.Show(this.dataGridView1, e.X, e.Y);
}
}
}
HarveyYan 2009-12-17
  • 打赏
  • 举报
回复
拖一个ContextMenuScript出来,设好你的右键菜单,把DataGridView的ContextMenuScript属性设为该菜单ID,设一下SelectionMode
-过客- 2009-12-17
  • 打赏
  • 举报
回复
当然,index越界异常自己考虑
-过客- 2009-12-17
  • 打赏
  • 举报
回复
dataGridView1的SelectionMode属性设为FullRowSelect
ContextMenuStrip属性指定一个contextMenuStrip

然后

private void dataGridView1_CellContextMenuStripNeeded(object sender, DataGridViewCellContextMenuStripNeededEventArgs e)
{
dataGridView1.CurrentCell = dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex];
}

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧