DOBON.NET プログラミング道: .NET Framework, VB.NET, C#, Visual Basic, Visual Studio, インストーラ, ...

DOBON.NET

TextBoxに入力されたパスワード文字をマスクする

パスワードを入力するためのテキストボックスの場合、入力された文字がそのまま表示されては困ります。テキストボックスに入力された文字をマスクするには、TextBoxクラスのPasswordCharプロパティに代わりに表示する文字を指定します。.NET Framework 2.0以降では、日本語OSの場合、単一行または複数行TextBoxでも有効です。それ以外では、単一行TextBoxコントロールでのみ有効です。

.NET Framework 2.0以降では、TextBox.UseSystemPasswordCharプロパティをtrueにすることで、文字をマスクすることもできます。この場合は、既定のシステムのパスワード文字(私が試したところでは、「*」)が使用され、PasswordCharプロパティは無視されます。UseSystemPasswordCharでは、単一行TextBoxコントロールでのみ有効です。

ただし、これら方法は、文字数が分かってしまうという欠点があります。

次の例ではTextBox1に入力される文字を*でマスクして表示するようにします。

[VB.NET]
'TextBox1に入力された文字がすべて*で表示されるようにする
TextBox1.PasswordChar = "*"c
[C#]
//TextBox1に入力された文字がすべて*で表示されるようにする
TextBox1.PasswordChar = '*';
  • 履歴:
  • 2007/1/15 TextBox.UseSystemPasswordCharプロパティに関する記述を追加。