DOBON.NET DOBON.NETプログラミング掲示板過去ログ

IMEモードの固定

環境/言語:[windowsXP,C#,.net framework2.0]
分類:[.NET]

C#でtextboxでもMaskedTextBoxでもよいのですが、
IMEモードを固定にする事って可能なのでしょうか?
今はMaskedTextBoxでMaskに0000000、ImeModeをoffにしているのですが、
最初は半角数字しか打てないのですが、
全角に変更されると全角数字も打つことが出来て、
入力チェックをプログラムでかけています。
出来れば固定で半角数字しか打たせたくありません。
よろしくお願いします。
(KeyPressでe.KeyCharの< '0'〜'9'で制御する以外でお願いします。
コピ&ペーストで抜けられてしまうので・・・
もう少し頑丈なものでお願いします・・・
わがまま言ってすみません。)
2007/09/26(Wed) 20:13:50 編集(投稿者)

TextBox の ImeMode プロパティを ImeMode.Disable にするのではダメなのでしょうか。

これで半角固定になると思っていたのですが、何か問題あり?


# 追記

っとぉ、コピーの事忘れてました。すいません。

WndProc のオーバーライドで握りつぶしとか……しか思いつきません。
過去ログとか探せばあるやも。
  • 題名: Re[2]: IMEモードの固定
  • 著者: Ruku
  • 日時: 2007/09/26 21:06:33
  • ID: 20575
  • この記事の返信元:
  • この記事への返信:
    • (なし)
  • ツリーを表示
TextBox の ShortcutsEnabled プロパティを false にすれば貼り付け等も無視できますね。
ただし、他の操作まで無視される上にコンテキストメニューも表示されなくなってしまいますが。

その後も色々と書いてみたものの、そのものズバリなサンプルがありました。

http://dobon.net/vb/dotnet/control/disablepaste.html

http://jeanne.wankuma.com/tips/textbox/permitchars.html

結局、他力本願になってしまった感じ……

DOBON.NET | プログラミング道 | プログラミング掲示板