TextBoxにキーボードから文字を入力する際にキーボードから入力した文字とはべつの文字をテキストボックスに入力したいです。
例えば aを入力したら\など。また、できたらユニコードの特殊文字で置換したいです。
参考になるソースコートをご存じならばご教授願いいます。
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 の知識などが必要ですね。
コメント(2件)
■ TextBoxに入力されたパスワード文字を隠す(マスクする)
http://dobon.net/vb/dotnet/control/tbpasswordchar.html