• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Ctrl+vのイベントを解除)

DataGridViewのCtrl+vイベント解除について

このQ&Aのポイント
  • VB2010で、DataGridViewのグリッドにCtrl+vでのペーストをさせない方法について教えてください。
  • DataGridViewのCtrl+vイベントを解除する方法を知っている方、お教えいただけませんか?
  • DataGridViewでCtrl+vのイベントを無効にする方法について教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • MARU4812
  • ベストアンサー率43% (196/452)
回答No.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 を制御する ようにする事で可能かもしれません。

ddtqp
質問者

お礼

回答ありがとうございます。 やっと不具合の部分が理解できました。 現在、Ctrl+Vでエクセルの表をコピペでデータグリッドビューに貼り付けれるようにしたのですが、 そのイベント後に、OSのショートカット機能がグリッドテキストに働いていました。 ヒントをくださりありがとうございます。 クリップボード内容を配列化した後、 クリップボードを空にし、 その中にアクティブグリッドにいれたい数値を格納することでうまくいきました。

その他の回答 (1)

回答No.1

ちょっと面倒ですが、DataGridViewColumn や DataGridViewCell を継承したクラスをつくればできるような気がします。 http://207.46.16.248/ja-jp/library/7tas5c80(VS.80).aspx

ddtqp
質問者

お礼

回答ありがとうございました。 勉強になり、ひとつレベルアップしました。

関連するQ&A