0

データグリッドビューのセルクリックイベントをキャンセルしたい

private void gridViewHistory_CellClick(object sender, DataGridViewCellEventArgs e)
{      
}

しかし、この eventargs にはキャンセル イベントがありません。そのイベントをキャンセルするにはどうすればよいですか? この質問には非常に簡単な答えがあるかもしれませんが、それでも私は行き詰まっており、助けが必要です.

前もって感謝します。

4

4 に答える 4

3

できません。

WinForms イベントは単なるマルチキャスト デリゲートであり、イベントを公開するオブジェクトによってこの状況が処理されない限り、イベントをキャンセルすることはできません (イベントの伝播を停止するという意味で) (しかし、これをサポートするオブジェクトを認識しています。通常、イベントは通知です)。

とはいえ、一部のイベントにはプロパティの引数があり、そのイベントのために実行する必要があるアクションをキャンセルするCancelためにオブジェクトによって使用されます。この場合も、実装がそのプロパティを提供しない場合、この動作を変更するためにできることは何もありません。

あなたの場合、あなたが好む方法でそれを処理するためにOnCellClickメソッドをオーバーライドする必要がありますDataGridView(基本クラスを呼び出さないと、セルはクリックイベントを取得せず、CellClickイベントは発生しません)。

于 2013-06-28T10:17:43.997 に答える
1

すべてのイベントをキャンセルできるわけではありません。イベントハンドラーで何もしないことを選択できますが、それはキャンセルできるという意味ではありません。

Cancelそのため、特定の型のメソッドがない限り、イベントをキャンセルすることはできません。

于 2013-06-28T10:20:40.620 に答える
0

あなたは試すことができます

戻る;

ステートメントですが、これは asp:LinkBut​​ton OnClick イベントに対してのみ機能し、その後 UpdateCommand などの他のポスト イベントに渡されません。

于 2015-02-04T03:17:31.680 に答える