/* 本段代码使用 “天书我勒个去我还是相信中国开源的 V0.9” 协议发布 * 如果您需在发布(包含商业与非商业)的软件中使用本代码,只需告知作者四季天书并在软件的关于里加上天书的名字即可 * 因为我还是相信中国开源的。。。 */ static string EnterPasswd() { while (true) { Console.Write("请输入密码>"); string key = string.Empty; while (true) { ConsoleKeyInfo keyinfo = Console.ReadKey(true); if (keyinfo.Key == ConsoleKey.Enter) //按下回车,结束 break; else if (keyinfo.Key == ConsoleKey.Backspace && key.Length > 0) //如果是退格键并且字符没有删光 { Console.Write("\b \b"); //输出一个退格(此时光标向左走了一位),然后输出一个空格取代最后一个星号,然后再往前走一位,也就是说其实后面有一个空格但是你看不见= = key = key.Substring(0, key.Length - 1); } else if (!char.IsControl(keyinfo.KeyChar)) //过滤掉功能按键等 { key += keyinfo.KeyChar.ToString(); Console.Write("*"); } } return key; } }
你们自己看吧,我觉得已经没什么 bug 了。。。
使用演示到这里(链接到 Github)看吧
天书 2014 年 9 月后的第一篇文章(本文)竟然是生病请假在家写的。。。
Comments | 3 条评论
博主 RuioWolf
你好,我在我的代码中使用了你的源码 https://github.com/RuioWolf/zfxk2/blob/master/xsxk/Program.cs
博主 曾润铭
感谢你提供的代码,控制台用户登录的密码问题已经解决了