- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Ctrl+vのイベントを解除)
DataGridViewのCtrl+vイベント解除について
このQ&Aのポイント
- VB2010で、DataGridViewのグリッドにCtrl+vでのペーストをさせない方法について教えてください。
- DataGridViewのCtrl+vイベントを解除する方法を知っている方、お教えいただけませんか?
- DataGridViewでCtrl+vのイベントを無効にする方法について教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
KeyDown イベントについて言っているのであれば、 既にご自身で使っておられる http://qanda.rakuten.ne.jp/qa6529302.html > e.Handled = True ではないでしょうか。 それで何か上手くいかないのであれば、 その他のイベントが起こっているか、 DataGridView の KeyDown の処理だけでは不十分か、 ウィンドウメッセージを確認して適切な対処を取る 必要があるのだと思われます。 想像するに、あくまで KeyDown イベントでキャンセル できるのは純粋なキー操作であって、それにショート カットキーが割り当てられて動作する部分では、OS側の 制御が係わっているのではないでしょうか。 ・DOBON.NET Tips TextBoxにペースト(貼り付け)できないようにする http://dobon.net/vb/dotnet/control/disablepaste.html DataGridView は編集時にはセルと同サイズの TextBox を表示させているようです。DataGridView のイベントで 捉えられなかった場合は、その TextBox を制御する ようにする事で可能かもしれません。
その他の回答 (1)
- tsukasa-12r
- ベストアンサー率65% (358/549)
回答No.1
ちょっと面倒ですが、DataGridViewColumn や DataGridViewCell を継承したクラスをつくればできるような気がします。 http://207.46.16.248/ja-jp/library/7tas5c80(VS.80).aspx
質問者
お礼
回答ありがとうございました。 勉強になり、ひとつレベルアップしました。
お礼
回答ありがとうございます。 やっと不具合の部分が理解できました。 現在、Ctrl+Vでエクセルの表をコピペでデータグリッドビューに貼り付けれるようにしたのですが、 そのイベント後に、OSのショートカット機能がグリッドテキストに働いていました。 ヒントをくださりありがとうございます。 クリップボード内容を配列化した後、 クリップボードを空にし、 その中にアクティブグリッドにいれたい数値を格納することでうまくいきました。