我有一个标准的DataGridView和一个ContextMenuStrip。我的问题是,我需要在用户单击右键时显示这个ContextMenuStrip,但不是在每一行上!只在我选择的行上。 我尝试了这个:
dataGridView1.Rows[1].ContextMenuStrip = contextMenuStrip1;
但是它不起作用。
我有一个标准的DataGridView和一个ContextMenuStrip。我的问题是,我需要在用户单击右键时显示这个ContextMenuStrip,但不是在每一行上!只在我选择的行上。 我尝试了这个:
dataGridView1.Rows[1].ContextMenuStrip = contextMenuStrip1;
private void dataGridView1_MouseDown(object sender, MouseEventArgs e) {
if (e.Button == MouseButtons.Right) {
var ht = dataGridView1.HitTest(e.X, e.Y);
// Place your condition HERE !!!
// Currently it allow right click on last column only
if (( ht.ColumnIndex == dataGridView1.Columns.Count - 1)
&& (ht.Type == DataGridViewHitTestType.ColumnHeader)) {
// This positions the menu at the mouse's location
contextMenuStrip1.Show(MousePosition);
}
}
}