重複の可能性:
winformsテキストボックスに黒いドット(•)が表示されているパスワード文字はどれですか?
C++11での文字列リテラルのUnicodeエンコーディング
コードを使用してパスワードを表示したり、•</p>のようにドットにしたりしたい
textBoxNewPassword.PasswordChar = (char)0149;
どうすればこれを達成できますか?
重複の可能性:
winformsテキストボックスに黒いドット(•)が表示されているパスワード文字はどれですか?
C++11での文字列リテラルのUnicodeエンコーディング
コードを使用してパスワードを表示したり、•</p>のようにドットにしたりしたい
textBoxNewPassword.PasswordChar = (char)0149;
どうすればこれを達成できますか?
http://blog.billsdon.com/2011/04/dot-password-character-c/は'\u25CF'を提案します;
または、これをコピーして貼り付けてみてください•</ p>
(あなたの質問に対する正確な答えではありませんが、それでも)
このプロパティを使用してUseSystemPasswordChar
、システムのデフォルトのパスワード文字を選択することもできます。
textBoxNewPassword.UseSystemPasswordChar = true;
多くの場合、ドットにマッピングされ、常に一貫したユーザーエクスペリエンスを作成します。
ウィキペディアには、同様の記号の表があります。
C#では、char
たとえばU + 2022に対応するリテラルを作成するには、を使用します'\u2022'
。(質問で行うように、整数リテラルをキャストすることもできます(char)8226
) 。
後期追加。元のアプローチが失敗した理由は、149
持っていた値がUnicodeコードポイントではないためです。代わりに、 Windows-1252に由来し、Windows -1252はUnicodeのサブセットではありません。Unicodeでは、decimal149
はC1制御コード 「MessageWaiting」を意味します。
Windows-1252から次のように翻訳できます。
textBoxNewPassword.PasswordChar =
Encoding.GetEncoding("Windows-1252").GetString(new byte[] { 149, })[0];
もちろん、Unicode値を直接使用する方が簡単です。
新しいバージョンの.NETでは、次のコマンドを呼び出す必要があります。
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
のようなものを使用する前にEncoding.GetEncoding("Windows-1252")
。
PasswordBox
コントロールの使用ととしての設定PasswordChar
を調べる必要があります*
。
例:
textBox1.PasswordChar = '*'; // Set a text box for password input
textBoxNewPassword.PasswordChar = '\u25CF';