VS2015 C#環境でのプログラミングについて教えて下ださい。


TextBoxにキーボードから文字を入力する際にキーボードから入力した文字とはべつの文字をテキストボックスに入力したいです。
例えば aを入力したら\など。また、できたらユニコードの特殊文字で置換したいです。

参考になるソースコートをご存じならばご教授願いいます。

回答の条件
  • 1人1回まで
  • 13歳以上
  • 登録:2017/01/18 17:54:39
  • 終了:2017/01/25 17:55:03

回答(1件)

id:SweetSmile1978 No.1

SweetSmile1978回答回数191ベストアンサー獲得回数292017/01/19 12:45:23

ポイント100pt

Windows Forms なのか、WPF なのか、ASP.NET なのかなどによって変わってくるかと思います。

Windows Forms の場合であれば、TextBox の KeyDown イベントを作成して処理します。

private void textBox1_KeyDown(object sender, KeyEventArgs e)
{

e.SuppressKeyPress = true;
//e.Value または、e.KeyCode または、e.KeyData の内容を処理
//ただし、イベントで渡されるオブジェクトは読み取り専用なので
//直接 textBox 内の文字列を置き換える処理が必要
//バックスペースキーやDELによる削除などがあると面倒
}


あるいは、Window のメッセージループ自体をオーバーライドしてしまう。
http://www.atmarkit.co.jp/ait/articles/0606/30/news131.html

Web系だとC#よりも javaScript の知識などが必要ですね。

  • id:cx20
    単純にパスワードマスクをしたいということでしたら、下記が参考になると思います。

    ■ TextBoxに入力されたパスワード文字を隠す(マスクする)
    http://dobon.net/vb/dotnet/control/tbpasswordchar.html
  • id:mai_mai_mail
    ありがとうございます。やりたいことはマスクではございませんでした。わざわざ回答ありがとうございます。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません