0
我有一個contextMenuStrip附加到dataGridView,當我右鍵單擊包含標題和沒有任何數據行的空白區域的daaGridView時,contextMenuStrip出現。我可以創建一個contextMenuStrip的列只有在dataGridView不是頭文件嗎?
我只想在右鍵單擊數據行時顯示contextMenuStrip。我怎樣才能做到這一點?
感謝您的幫助。
我有一個contextMenuStrip附加到dataGridView,當我右鍵單擊包含標題和沒有任何數據行的空白區域的daaGridView時,contextMenuStrip出現。我可以創建一個contextMenuStrip的列只有在dataGridView不是頭文件嗎?
我只想在右鍵單擊數據行時顯示contextMenuStrip。我怎樣才能做到這一點?
感謝您的幫助。
爲了找出是否有任何數據行被點擊,您需要使用datagridview的HitTest方法。在網格的Mousedown事件中,請使用以下代碼:
var info = dataGrid1.HitTest(e.X,e.Y);
if(info.RowIndex!=-1)// datarow is clicked.
contextMenu.Show(dataGrid1, e.Location);
info.RowIndex對於列標題或背景區域將爲-1。也不要在設計時預設dataGrid1.ContextMenu屬性(不要指定它)。因此,默認情況下,您的dataGrid1無法在右鍵單擊時顯示contextMenu。
@Bob如果您認爲我的回答不能解決您的問題,請告訴我,但如果確實如此,請將其標記爲已接受。 –