我指定了单元格的右键菜单:
DataGridViewRow row = (DataGridViewRow)this.dataGridView1.RowTemplate.Clone();
DataGridViewTextBoxCell celluser = new DataGridViewTextBoxCell();
cell.ContextMenuStrip = contextMenuStrip1;但是我想在菜单点击事件中获得点击的那个单元格在哪一列、哪一行,请高手指点一下小弟。
private void 右键按钮1ToolStripMenuItem_Click(object sender, EventArgs e)
{
//如何获得所在列和行,包括单元格的内容???????
}
DataGridViewRow row = (DataGridViewRow)this.dataGridView1.RowTemplate.Clone();
DataGridViewTextBoxCell celluser = new DataGridViewTextBoxCell();
cell.ContextMenuStrip = contextMenuStrip1;但是我想在菜单点击事件中获得点击的那个单元格在哪一列、哪一行,请高手指点一下小弟。
private void 右键按钮1ToolStripMenuItem_Click(object sender, EventArgs e)
{
//如何获得所在列和行,包括单元格的内容???????
}
解决方案 »
- 请问这个是什么意思?
- 如何将XPathNavigator节点转成对应的xmlnode节点
- 不能在vs2005工具栏中可视话建立用户和角色,会不会影响我用登陆控件?
- 如何在C#中使用宏??
- 帮帮忙啊, DataGrid 的问题. 我想在 ProcessCmdKey 中知道, 当用户敲击键盘时, DataGrid 是处在单元格编辑模式, 还是选中列, 或者两者都
- 也来问个问题,看看有人会吗?
- WPF,图形为什么边缘总是模糊的啊
- 请问我要异步加载一个datatable进入一个gridcontrol怎么操作?
- 关于C#转换成VB代码中,a | b如何转换?谢谢!
- 如何在水晶报表中把Boolean 值替换为其它值?
- C#发送邮件
- C# 读取xml字符串中某个节点的属性
for(int i = 0; i < dataGridView1.Columns.Count; i++)
{
Rectangle columnrect = dataGridView1.GetColumnDisplayRectangle(i, false);
if(dataGridView1.RectangleToScreen(columnrect).Contains(p))
{
break;
}
}
{
dataGridView1.CurrentCell = dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex];
}private void 右键按钮1ToolStripMenuItem_Click(object sender, EventArgs e)
{
if (dataGridView1.CurrentCell != null)
{
textBox1.Text = dataGridView1.CurrentCell.RowIndex.ToString(); //行索引
textBox2.Text = dataGridView1.CurrentCell.ColumnIndex.ToString(); //列索引
textBox3.Text = dataGridView1.CurrentCell.Value.ToString(); //内容
}
}
DataGridViewCell cell; //MouseRightClick位置的单元格,不一定是当前单元格(dataGridView1.CurrentCell)
private void dataGridView1_MouseClick(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
DataGridView.HitTestInfo gp = ((DataGridView)sender).HitTest(e.X, e.Y);
if (gp.RowIndex > -1 && gp.RowIndex>-1)
{
cell = ((DataGridView)sender)[gp.ColumnIndex, gp.RowIndex]; // 在右键菜单事件 访问 cell
MessageBox.Show("第" + gp.RowIndex + "行,第" + gp.ColumnIndex + "列");
}
}
}
if (gp.RowIndex > -1 && gp.RowIndex>-1)
{
DataGridView.HitTestInfo gp = ((DataGridView)sender).HitTest(e.X, e.Y);
cell = ((DataGridView)sender)[gp.ColumnIndex, gp.RowIndex]; // 在右键菜单事件 访问 cell
MessageBox.Show("第" + gp.RowIndex + "行,第" + gp.ColumnIndex + "列");
}