PRivate
void
dataGridView1_CellClick(
object
sender,DataGridViewCellEventArgse)
{
if
(e.ColumnIndex==-1)
{
MessageBox.Show(
"这里是行头"
);
}
}
private
void
dataGridView1_RowHeaderMouseClick(
object
sender,DataGridViewCellMouseEventArgse)
{
if
(e.Button==MouseButtons.Right)
{
//加入显示右键弹出菜单
}
}
可以肯定,楼上的代码都未经测试。注意:楼主要的是在行头,就是标题行上点击右键,出现快捷菜单。而且,CellClick是不响应右键的,所以,只有在CellMouseClick事件中才能响应右键.(RowHeaderMouseClick也有响应,但是不知道为什么,我的VS2005没有反应,所以不推荐使用)privatevoiddgv_CellMouseClick(objectsender,DataGridViewCellMouseEventArgse){//判断是否右键点击if(e.Button==MouseButtons.Right){//得到点击所在的行和列信息。相关函数查MSDNDataGridView.HitTestInfohitinfo=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新闻热点
疑难解答