2012-11-30 51 views
0

我目前正在開發DataGridView通過拖放來存儲PDF文件。 用戶可以將文件定義爲DataGridView,並將PDF存儲到容器中。DataGridView - 使用ContextMenu刪除項目

然後我想實現一個ContextMenu,它允許用戶通過右擊它並選擇目標選項來打開或刪除PDF。

選項「打開」通過使用HitTest(x, y)CursorPosition工作正常。

我的問題是,當你看到「刪除」按鈕被放置在細胞波紋管中,並且HitTest(x, y)會將我下方的細胞遞送給我,這不是我的目標。

我已經試過

我已經捕捉CellContentClickClick事件嘗試過,但那些沒有通過右鍵單擊單元格觸發。此外,通過節約用捕CellMouseEnter事件的最後一個單元格中輸入的選項沒有propably工作

是否有posibility去了解哪些細胞是正確的點擊?

+0

選定單元格你能得到ContextMenu最左上角的位置? – CR41G14

回答

1

在你的dataGridView使單細胞選擇屬性,然後在上下文菜單中點擊即可獲得所選擇的小區

你可以得到由

private void dataGridView_CellMouseDown(object sender, DataGridViewCellMouseEventArgs e) 
{ 
    if (e.Button == MouseButtons.Right) 
    { 
     dataGridView.CurrentCell = dataGridView[e.ColumnIndex, e.RowIndex]; 
    } 
} 
+0

單元格不會通過右鍵單擊來選擇。 –

+0

@JanP。感謝編輯,看看如何實現這一點。 – CR41G14