火球法师
精华
|
战斗力 鹅
|
回帖 0
注册时间 2012-12-14
|
本帖最后由 独自旅行 于 2021-6-8 15:25 编辑
从网络上看了点博文然后试着进行代码改装。不出所料的出了问题。
- private void Form1_KeyDown(object sender, KeyEventArgs e)
- {
- switch (e.KeyData)
- {
- <u> case (e.KeyData == (Keys.Alt | Keys.S)):</u> //报错:控件无法从最早用例标签(case(......))脱离开关,无法将类型“bool”隐式转换为“sys.win.form.keys”
- e.Handled = true;
- OpenSeting.PerformClick();
复制代码
顺便说下博文的案例代码为:
- private void Form1_KeyDown(object sender, KeyEventArgs e)
- {
- if (e.KeyData == (Keys.S | Keys.Alt))//按下alt+s键
- {
- e.Handled = true;//将Handled设置为true,指示已经处理过KeyPress事件
- textBox1.Focus();//将键盘焦点聚焦到textBox1控件上。
- }
- else if (e.KeyData == (Keys.X | Keys.Alt))//按下alt+x
- {
- e.Handled = true;
- this.showMsg("hello world!");//执行showMsg方法
- }
- else if (e.KeyData == Keys.Escape)//按下esc键
- this.Close(); //关闭窗口
- }
复制代码
虽然说小程序按钮不多,使用多道IF语句也可以凑合凑合过去。但是总觉得不爽……问题没解决很不爽。 |
|