0

DataGridView現在、ドラッグ アンド ドロップで PDF ファイルを保存する方法を開発中です。ユーザーはファイルを に d'n'd できDataGridView、PDF はコンテナーに保存されます。

ContextMenu次に、ユーザーが PDF を右クリックして目的のオプションを選択することで、PDF を開いたり削除したりできるようにしたいと考えました。

オプション「開く」は、 と を使用して正常に機能してHitTest(x, y)CursorPositionます。

私の問題は、ご覧のとおり、「削除」ボタンが下のセルに配置され、HitTest(x, y)すぐ下のセルが表示されることです。これは私の目標ではありません。

私が試したこと

CellContentClickイベントをキャッチして試してみましたClickが、セルを右クリックしてもトリガーされません。CellMouseEnterまた、イベントをキャッチして最後に入力したセルを保存するオプションは適切に機能していません

どのセルが右クリックされたかを知る可能性はありますか?

4

1 に答える 1

1

あなたのdataGridViewでSingle Cell Selectionプロパティを有効にしてから、コンテキストメニューをクリックすると、選択したセルを取得できます

選択したセルを取得するには

private void dataGridView_CellMouseDown(object sender, DataGridViewCellMouseEventArgs e)
{
    if (e.Button == MouseButtons.Right)
    {
        dataGridView.CurrentCell = dataGridView[e.ColumnIndex, e.RowIndex];
    }
}
于 2012-11-30T09:50:56.310 に答える