聽起來像你想打開你的ContextMenuStrip,如果你的用戶用鼠標右鍵單擊DataGridView的列的標題,滿足某些條件。
簡而言之:使用的DataGridView MouseDown
事件而在此情況檢查的條件,如果他們遭遇呼叫您的ContextMenuStrip的Show
方法。
,你可以參考
代碼示例:
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);
}
}
}
不,我要打開我的ContextMenuStrip當用戶右鍵點擊一個DataGridView但不是上每一行(小區),但只有在行(細胞),我早先選擇了。 –
一旦你在IF()語句的條件部分定義你的邏輯,它就會工作! –
This contextMenuStrip1.Show(MousePosition);是我正在尋找的路線。謝謝。 –