首页 新闻 会员 周边 捐助

.NET求解

1
悬赏园豆:10 [已解决问题] 解决于 2011-06-23 10:50

例如:我在键盘设定一个键,按下窗体隐藏,在按一下窗体显示,请各位帮帮忙,写写代码。。。小弟感谢

问题补充:

谢谢几位提供的代码。。。。可是能不能教教小弟??当按下一个键的时候用MessageBox.Show("");吧它的键值 弹出来???请各位教下小弟,谢谢

NET学员的主页 NET学员 | 初学一级 | 园豆:140
提问于:2011-06-21 09:43
< >
分享
最佳答案
0
View Code
1 private void Two_KeyDown(object sender, KeyEventArgs e)
2 {
3 if (e.Control & e.KeyCode == Keys.A)
4 {
5 if (this.WindowState==FormWindowState.Normal)
6 {
7 this.WindowState = FormWindowState.Minimized;
8 }
9 else if (this.WindowState==FormWindowState.Minimized)
10 {
11 this.WindowState = FormWindowState.Normal;
12 }
13 }
14 }

在窗体的keyDown时间中写

收获园豆:10
王元勋 | 菜鸟二级 |园豆:413 | 2011-06-21 11:42
谢谢你提供的代码。。。。可是能不能教教小弟??当按下一个键的时候用MessageBox.Show("");吧它的键值 弹出来???请各位教下小弟,谢谢
NET学员 | 园豆:140 (初学一级) | 2011-06-21 12:23
MessageBox.Show(e.KeyValue.ToString());
王元勋 | 园豆:413 (菜鸟二级) | 2011-06-21 13:05
3Q
NET学员 | 园豆:140 (初学一级) | 2011-06-23 10:50
其他回答(3)
0

通过keydown keyup 事件

Daywei | 园豆:551 (小虾三级) | 2011-06-21 11:30
0

protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
 {
  const int WM_KEYDOWN = 0x100;
  const int WM_SYSKEYDOWN = 0x104;
  if ((msg.Msg == WM_KEYDOWN) ||(msg.Msg == WM_SYSKEYDOWN))
  {
   switch (keyData)
   {
    case Keys.Down:
     this.Parent.Text = "向下键已经被捕捉";
     break;
    case Keys.Up:
     this.Parent.Text = "向上键已经被捕捉";
     break;
    case Keys.Left:
     this.Parent.Text = "向左键已经被捕捉";
     break;
    case Keys.Right:
     this.Parent.Text = "向右键已经被捕捉";
     break;
    case Keys.Home:
     this.Parent.Text = "Home 键已经被捕捉";
     break;
    case Keys.End:
     this.Parent.Text = "End 键已经被捕捉";
     break;
   }
  }
  return base.ProcessCmdKey(ref msg, keyData);
 }

荣冬 | 园豆:215 (菜鸟二级) | 2011-06-21 11:41
谢谢你提供的代码。。。。可是能不能教教小弟??当按下一个键的时候用MessageBox.Show("");吧它的键值 弹出来???请各位教下小弟,谢谢
支持(0) 反对(0) NET学员 | 园豆:140 (初学一级) | 2011-06-21 12:23
MessageBox.Show(keyData.KeyCode);就行了
支持(0) 反对(0) 荣冬 | 园豆:215 (菜鸟二级) | 2011-06-24 17:08
0

 public Form1()
        {
            InitializeComponent();
            this.KeyDown += new KeyEventHandler(Form1_KeyDown); //初始化调用键盘事件
        } 

void Form1_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyValue==119)
            {
                if (this.Visible==true)
                {
                    this.Visible = false;
                }
                else if(this.Visible==false)
                {
                    this.Visible = true;
                }
            }
          
        }

蓦然回首的思念 | 园豆:900 (小虾三级) | 2011-06-21 11:42
谢谢你提供的代码。。。。可是能不能教教小弟??当按下一个键的时候用MessageBox.Show("");吧它的键值 弹出来???请各位教下小弟,谢谢
支持(0) 反对(0) NET学员 | 园豆:140 (初学一级) | 2011-06-21 12:23
MessageBox.Show(e.KeyCode.ToString()+" keyvalue: " +e.KeyValue.ToString());前面的是按下的键的名称,后面的是对应的值
支持(0) 反对(0) 蓦然回首的思念 | 园豆:900 (小虾三级) | 2011-06-21 12:59
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册