C# winform 怎么设置软件运行时,输入一个命令打开指定窗口。

C#winform怎么设置软件运行时,输入一个命令打开指定窗口。意思:这个指定的窗口平时用户是绝对调用不出来的。只有在主窗体上,用键盘连续输入特定的命令如“Admin00... C# winform 怎么设置软件运行时,输入一个命令打开指定窗口。

意思:这个指定的窗口平时用户是绝对调用不出来的。
只有在主窗体上,用键盘连续输入特定的命令如“Admin000”,才可以打开。
然后在进行窗口上的其他操作。
这个窗口相当于超级控制台。

哪位大师有经验?
给指点一二,或者有代码就更好了。
意思不明白可以好、先回答,在讨论。
展开
 我来答
syht2000
高粉答主

2013-07-09 · 关注我不会让你失望
知道大有可为答主
回答量:3万
采纳率:79%
帮助的人:1.4亿
展开全部

没弄过这个,做了个测试,先将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; } 这行可能有点多余,可以注释掉看看。
百度网友115a69b
2013-07-09 · TA获得超过253个赞
知道小有建树答主
回答量:428
采纳率:50%
帮助的人:385万
展开全部
if(你的输入窗体的密码=="Admin000")//Admin000可来自其它地方并加密 等
{
SingtonOrNot窗体.Show();
}
追问
没大明白意思
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
存在_wang
2013-07-09 · TA获得超过153个赞
知道答主
回答量:63
采纳率:0%
帮助的人:57.7万
展开全部
为什么要这样做呢? 可以设置限权(角色)呀,通过限权来管控菜单,比如系统设置级别的给Admin,用户级别的给普通用户限权。 当你用户你所说的超级管理员角色进入系统时就把全部菜单(窗体)都显示供你调用操作不就可以了吗!!
更多追问追答
追问
我的软件没有登陆窗体,不是做的登陆系统。。。所以没有角色之分。

有一些软件,技术员为了调试,就是在终端输入一些制定的指令,就打开超级控制台,看信息了
追答
如果是这样的话,那其他兄弟回答的就是基本思路了,看你怎么进一步的优化出更新好的方法了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友3aa3dec
2013-07-09 · TA获得超过343个赞
知道小有建树答主
回答量:309
采纳率:0%
帮助的人:144万
展开全部
在主窗体的KeyPress事件里写
追问
楼下的代码,是你想要说的意思么?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
清水栞
2013-07-09 · TA获得超过1547个赞
知道小有建树答主
回答量:1538
采纳率:50%
帮助的人:985万
展开全部
窗体的KeyPress事件里,做一个按键的记录呗。。然后每进一个就对比一下
更多追问追答
追问
应该还要加个时间限制,在一定的时间间隔内连续输入,视为有效输入。。。
追答
那你这样子就复杂了,就是再中跑一个计时器,当一段时间内,没有按键时,清空按键记录
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式