0

Windows フォームTextBoxコントロールには と の 2 つのプロパティがPasswordCharありUseSystemPasswordChar、 に入力されたパスワードの隠蔽を制御しますTextBox。指定されたテキストを非 TextBox グラフィックス サーフェスに同じ方法でレンダリングする必要があります。

PasswordChar プロパティの char を使用すれば、指定された文字列の長さを計算し、同等のテキスト表現を作成できますが、UseSystemPasswordChar はどうでしょうか? 有効なシステム パスワード char を取得するにはどうすればよいですか?

あるいは、このすべての作業を手動で行うことなく、指定されたテキストをパスワードとしてレンダリングするために使用できるフラグまたはすぐに使用できる .NET メソッドまたはクラスがあるのでしょうか?

4

1 に答える 1

0

Windows のデフォルトのパスワード文字は、ビジュアル スタイルが有効でない限りアスタリスクです。有効な場合は黒い円です。

次の方法で視覚スタイルが有効になっているかどうかを確認できますApplication.RenderWithVisualStyles

http://msdn.microsoft.com/en-us/library/windows/desktop/bb761594(v=vs.85).aspx

別の方法として、テキスト ボックスを作成して PasswordChar の値を読み取ることもできますが、これは少し汚い感じがします。

 char passwordChar = (new TextBox(){UseSystemPasswordChar = true}).PasswordChar;

内部では、この呼び出しはEM_GETPASSWORDCHARメッセージを Windows API に送信しています。

于 2012-03-07T13:44:33.620 に答える