C#控制台应用程序中实现密码输入*号显示
比如我要输入一个密码是123,此时窗口上显示***,就和平时我们输入密码一样请看清楚,是控制台应用程序!!...
比如我要输入一个密码是123,此时窗口上显示***,就和平时我们输入密码一样
请看清楚,是控制台应用程序!! 展开
请看清楚,是控制台应用程序!! 展开
4个回答
2013-11-05
展开全部
用Console.ReadKey(true);是没错,但还要再加一步处理,即判断是否按键为可打印字符键。
string password = string.Empty;
ConsoleKeyInfo info;
do
{
info = Console.ReadKey(true);
if(info.Key != ConsoleKey.Enter
&& info.Key != ConsoleKey.Backspace
&& info.Key != ConsoleKey.Escape
&& info.Key != ConsoleKey.Tab
&& info.KeyChar != '\0')
{
password += info.KeyChar;
Console.Write('*');
}
} while (info.Key != ConsoleKey.Enter);
Console.WriteLine();
Console.WriteLine(password);
string password = string.Empty;
ConsoleKeyInfo info;
do
{
info = Console.ReadKey(true);
if(info.Key != ConsoleKey.Enter
&& info.Key != ConsoleKey.Backspace
&& info.Key != ConsoleKey.Escape
&& info.Key != ConsoleKey.Tab
&& info.KeyChar != '\0')
{
password += info.KeyChar;
Console.Write('*');
}
} while (info.Key != ConsoleKey.Enter);
Console.WriteLine();
Console.WriteLine(password);
2013-11-05
展开全部
Console.ReadKey(true)可以不显示用户的按键
ConsoleKeyInfo cki;
string pass = "";
do
{
cki = Console.ReadKey(true);
Console.Write("*");
pass += cki.KeyChar.ToString(); ;
} while (cki.Key != ConsoleKey.Enter);
Console.WriteLine("\n你输入的密码是:" + pass);
ConsoleKeyInfo cki;
string pass = "";
do
{
cki = Console.ReadKey(true);
Console.Write("*");
pass += cki.KeyChar.ToString(); ;
} while (cki.Key != ConsoleKey.Enter);
Console.WriteLine("\n你输入的密码是:" + pass);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-11-05
展开全部
选择要输入密码的TEXTBOX,再在其属性里将usingsystempasswordchar 的属性改为 true 就可以了!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-11-05
展开全部
你可以把接收的密码存在一个数组里!然后输出数组长度那么多个的*号!数组长度的属性是length
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询