C# winform 怎么设置软件运行时,输入一个命令打开指定窗口。
C#winform怎么设置软件运行时,输入一个命令打开指定窗口。意思:这个指定的窗口平时用户是绝对调用不出来的。只有在主窗体上,用键盘连续输入特定的命令如“Admin00...
C# winform 怎么设置软件运行时,输入一个命令打开指定窗口。
意思:这个指定的窗口平时用户是绝对调用不出来的。
只有在主窗体上,用键盘连续输入特定的命令如“Admin000”,才可以打开。
然后在进行窗口上的其他操作。
这个窗口相当于超级控制台。
哪位大师有经验?
给指点一二,或者有代码就更好了。
意思不明白可以好、先回答,在讨论。 展开
意思:这个指定的窗口平时用户是绝对调用不出来的。
只有在主窗体上,用键盘连续输入特定的命令如“Admin000”,才可以打开。
然后在进行窗口上的其他操作。
这个窗口相当于超级控制台。
哪位大师有经验?
给指点一二,或者有代码就更好了。
意思不明白可以好、先回答,在讨论。 展开
展开全部
没弄过这个,做了个测试,先将form的KeyPreview设置为 True,然后在form的keypress中
string strInput = "";
DateTime _dt = DateTime.Now;
Boolean isInput = false;
private void Form1_KeyPress(object sender, KeyPressEventArgs e)
{
if (!isInput) { _dt = DateTime.Now; isInput = true; }
DateTime tempDt = DateTime.Now; //保存按键按下时刻的时间点
TimeSpan ts = tempDt.Subtract(_dt); //获取时间间隔
if (ts.Milliseconds > 500) //如果时间间隔大于500毫秒,清空
strInput = e.KeyChar.ToString();
else
strInput += e.KeyChar;
_dt = tempDt;
//label1.Text = strInput;
if (strInput == "Admin000")
MessageBox.Show("YES");//密码正确
}
更多追问追答
追问
哥们好牛叉啊。。。我也单独测试了了一下,没问题。
明天试试移植到我的程序里,不知道那个keypreview是否和我的有冲突。。。
追答
if (!isInput) { _dt = DateTime.Now; isInput = true; } 这行可能有点多余,可以注释掉看看。
展开全部
if(你的输入窗体的密码=="Admin000")//Admin000可来自其它地方并加密 等
{
SingtonOrNot窗体.Show();
}
{
SingtonOrNot窗体.Show();
}
追问
没大明白意思
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
为什么要这样做呢? 可以设置限权(角色)呀,通过限权来管控菜单,比如系统设置级别的给Admin,用户级别的给普通用户限权。 当你用户你所说的超级管理员角色进入系统时就把全部菜单(窗体)都显示供你调用操作不就可以了吗!!
更多追问追答
追问
我的软件没有登陆窗体,不是做的登陆系统。。。所以没有角色之分。
有一些软件,技术员为了调试,就是在终端输入一些制定的指令,就打开超级控制台,看信息了
追答
如果是这样的话,那其他兄弟回答的就是基本思路了,看你怎么进一步的优化出更新好的方法了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在主窗体的KeyPress事件里写
追问
楼下的代码,是你想要说的意思么?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
窗体的KeyPress事件里,做一个按键的记录呗。。然后每进一个就对比一下
更多追问追答
追问
应该还要加个时间限制,在一定的时间间隔内连续输入,视为有效输入。。。
追答
那你这样子就复杂了,就是再中跑一个计时器,当一段时间内,没有按键时,清空按键记录
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询