方法1
实现方法参考代码:
private void Form1_Load(object sender, EventArgs e)
{
this.KeyPreview = true;
}
protected override bool ProcessDialogKey(Keys keyData)
{
if (keyData == Keys.Left || keyData == Keys.Right || keyData == Keys.Up || keyData == Keys.Down)
{
switch (keyData)
{
case Keys.Left:
KeyLeftPress();
break;
case Keys.Right:
KeyRightPress();
break;
case Keys.Up:
KeyUpPress();
break;
case Keys.Down:
KeyDownPress();
break;
}
}
return base.ProcessDialogKey(keyData);
}
public void KeyLeftPress()
{
}
public void KeyRightPress()
{
}
private void KeyUpPress()
{
}
private void KeyDownPress()
{
}
private void Form1_KeyPress(object sender, KeyPressEventArgs e)
{
this.Text = e.KeyChar.ToString();
}
参考链接
为什么不能触发Form1_keydown事件?-CSDN社区https://bbs.csdn.net/topics/391894242
C# KeyDown事件-CSDN博客https://blog.csdn.net/fangyu723/article/details/108827544
方法2
参考代码
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Left)
this.Left -= 100;
if (e.KeyCode == Keys.Right)
this.Left += 100;
if (e.KeyCode == Keys.Up)
this.Left -= 10;
if (e.KeyCode == Keys.Down)
this.Left += 10;
}
参考链接
Form窗体中判断按键信息_form1_keyup-CSDN博客https://blog.csdn.net/wuhongyao3/article/details/3959667
特此记录
anlog
2024年1月29日