2

c#winforms

私のDataGridViewには次のものがあります。

SelectionMode-CellSelect

EditMode-EditOnKeyStroke

DeleteKeyを除くすべてのキーで正常に機能します(押された場合-何も起こりません)。

必要なのは-DeleteKeyが押された場合-選択されたセル(または複数のセル)は選択されたままですが、-空の値(Excelのように)。

DeleteKey専用に個別のKeyDownEventを作成する必要がありますか?

4

1 に答える 1

3

削除キーには、(潜在的に) ユーザーがグリッドから行を削除できるようにするという特別な意味があります。Delete キーは、DataGridView で「編集」モードを開始することはできません。そのため、(DataGridView 自体ではなく) DataGridViewCell で削除キーを処理できるようにするには、何らかの方法でセルを編集モードにする必要があります。

これを行うには、提案どおりに KeyPress ハンドラーを実装して、コンテンツを削除するために再度処理される前に、削除を押すと編集モードになるようにすることができます。または、それが大変な場合は、DataGridView.EditMode を 'OnEnter' に変更することもできます。この場合、各セルは、マウスまたはセル間のタブ移動によってフォーカスを得ると、常に編集モードになります。次に、削除を押すと、コンテンツが削除されます。

于 2012-06-04T02:53:33.973 に答える