- PR -

パスワード入力時にアスタリスク表示させる方法

1
投稿者投稿内容
Tol
常連さん
会議室デビュー日: 2004/07/16
投稿数: 27
投稿日時: 2007-02-27 17:48
Visual Basic2005を使用してコンソールアプリケーションを作っていて、
起動時にパスワード入力をさせる機能があります。
その際に、ユーザが入力したパスワードを
アスタリスクで表示させたいのですが方法がわかりません。
よくある機能なのですが、.NETライブラリでそのような機能は提供されて
いないのでしょうか?

どなかたご存知であれば教えていただけないでしょうか?
IIJIMAS
ベテラン
会議室デビュー日: 2006/12/06
投稿数: 77
投稿日時: 2007-02-27 17:52
デザイン画面で該当のテキストボックスを選択後、
プロパティウィンドウで「PasswordChar」を探して、
右の欄に「*」と入れてみてください。

追記:
ごめんなさいコンソールアプリでしたか…



[ メッセージ編集済み 編集者: IIJIMAS 編集日時 2007-02-27 17:57 ]
IIJIMAS
ベテラン
会議室デビュー日: 2006/12/06
投稿数: 77
投稿日時: 2007-02-27 19:05
先ほどは失礼いたしました。
.NETライブラリに便利機能があるかどうか分かりませんが、
とりあえず以下のようなFunctionをReadLineの代わりに使ってみてはいかがでしょうか。
コード:

Public Function ReadPassword() As String
Dim ci As ConsoleKeyInfo
Dim sb As New System.Text.StringBuilder
Do While True
ci = Console.ReadKey(True)
If ci.Key = ConsoleKey.Backspace OrElse ci.Key = ConsoleKey.Delete Then
Console.CursorLeft -= 1
Console.Write(" "c)
Console.CursorLeft -= 1
sb.Remove(sb.Length - 1, 1)
ElseIf ci.Key = ConsoleKey.Enter Then
Exit Do
Else
Console.Write("*"c)
sb.Append(ci.KeyChar)
End If
Loop
Return sb.ToString()
End Function



[ メッセージ編集済み 編集者: IIJIMAS 編集日時 2007-02-27 19:07 ]
1

スキルアップ/キャリアアップ(JOB@IT)