C# 用键盘上的键控制一个按钮,急求高手解答!!!
一个form上有两个button,一个是上一题一个是下一题,我想要在键盘上用←和→两个键也可以控制,点←就是上一题,点→就是下一题,请问应怎么实现~...
一个form上有两个button,一个是上一题一个是下一题,我想要在键盘上用←和→两个键也可以控制,点←就是上一题,点→就是下一题,请问应怎么实现~
展开
3个回答
展开全部
在你的控件里重写ProcessCmdKey 方法,在这个方法里面能拿到绝大多数按键。
添加:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (keyData == Keys.Up)
{
MessageBox.Show("up key pressed");
return true;
}
else if (keyData == Keys.Left)
{
MessageBox.Show("Left key pressed");
return true;
}
else if (keyData == Keys.Right)
{
MessageBox.Show("Right key pressed");
return true;
}
else if (keyData == Keys.Down)
{
MessageBox.Show("Down key pressed");
return true;
}
return base.ProcessCmdKey(ref msg, keyData);
}
}
添加:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (keyData == Keys.Up)
{
MessageBox.Show("up key pressed");
return true;
}
else if (keyData == Keys.Left)
{
MessageBox.Show("Left key pressed");
return true;
}
else if (keyData == Keys.Right)
{
MessageBox.Show("Right key pressed");
return true;
}
else if (keyData == Keys.Down)
{
MessageBox.Show("Down key pressed");
return true;
}
return base.ProcessCmdKey(ref msg, keyData);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在form的keydown事件里写,判断如果按键为←或→执行换题的动作
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用keydownjian就行啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询