Top > プログラミング > .NET Tips> TextBoxにペースト(貼り付け)できないようにする

TextBoxにペースト(貼り付け)できないようにする」への評価、コメント

評価

良い / 悪い = 14 / 3 (「良い」の割合 = 0.824 , 人気度 = 1.014

評価する

コメント一覧


通常のコメント
管理人 2014/09/27 (Sat) 00:48:04
> Shift+Insertは、どこでハンドルしてるのでしょう?

考慮していませんでした。修正します。ご指摘ありがとうございました。

通常のコメント
匿名 2014/09/3 (Wed) 18:50:14
Shift+Insertは、どこでハンドルしてるのでしょう?

通常のコメント
管理人 2009/10/13 (Tue) 01:44:54
ご報告ありがとうございます。手抜きをやめ、次のようにキー部分と修飾子部分に分けて調べることにしました。

If (keyData And Keys.Control) = Keys.Control AndAlso _
(keyData And Keys.KeyCode) = Keys.V Then

これでもまだ問題があるようでしたら、ご連絡ください。

通常のコメント
なおぽん 2009/10/11 (Sun) 18:28:12
Ctrl+V以外のCtrl+CゃCtrl+Xなどの良くあるパターンを作ってみたのですが、"C"の場合"A"、"X"の場合"P"、"V"の場合"RTPD"、でも条件がTrueになります。

If (keyData And pasteKeys) = pasteKeys And (keyData Or pasteKeys) = pasteKeys Then

にした方が良いように思います。

通常のコメント
管理人 2009/09/27 (Sun) 02:59:45
>>If (keyData And pasteKeys) = pasteKeys Then
>とすれば、Ctrl+Vのみ無効にできるのではないでしょうか

間違えていました。修正させていただきます。ご連絡ありがとうございました。

通常のコメント
匿名 2009/09/26 (Sat) 16:36:50
VB.NETであれば
>If (keyData Or pasteKeys) = pasteKeys Then

>If (keyData And pasteKeys) = pasteKeys Then
とすれば、Ctrl+Vのみ無効にできるのではないでしょうか

通常のコメント
匿名 2009/09/26 (Sat) 16:20:43
>if ((keyData | pasteKeys) == pasteKeys)
となっているからか、テキストボックスにvやbという文字が入力できないように思います。
通常の入力が出来るようにするにはどのようにすればいいのでしょうか。

通常のコメント
管理人 2009/03/26 (Thu) 03:03:25
>ProcessCmdKeyをオーバーライドする方法に1点誤りがあります。
>if ((keyData | pasteKeys) == pasteKeys)
>ではなく
>if ((keyData | pasteKeys) == keyData)
>ですね。

if ((keyData | pasteKeys) == pasteKeys)
であっています。
if ((keyData | pasteKeys) == keyData)
ですと、Ctrlだけを押しているときや、Vだけを押しているときでもtrueになってしまいます。

通常のコメント
いぬ天使 2009/03/25 (Wed) 14:34:19
ProcessCmdKeyをオーバーライドする方法に1点誤りがあります。
if ((keyData | pasteKeys) == pasteKeys)
ではなく
if ((keyData | pasteKeys) == keyData)
ですね。

コメントの投稿

[説明]