请问c#如何处理键盘的“上/下/左/右”事件?

corn8888 2009-06-02 08:11:57
加精
rt
...全文
1808 105 打赏 收藏 转发到动态 举报
写回复
用AI写文章
105 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangshuqiang123 2012-08-27
  • 打赏
  • 举报
回复
为什么 我窗体KeyPreview 设置为 true 了,添加了KeyDown事件,按下键盘按钮,还是没有反应.
zhangshuqiang123 2012-08-27
  • 打赏
  • 举报
回复
为什么 我窗体KeyPreview 设置为 true 了,按下鼠标,还是没有反应.
ijlwtjxx 2010-03-04
  • 打赏
  • 举报
回复
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication12
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void Form1_KeyDown(object sender, KeyEventArgs e)
{
string keyCode = e.KeyCode.ToString();
switch (e.KeyData)
{
case Keys.Up:
this.Text = keyCode;
break;
case Keys.Down:
this.Text = keyCode;
break;
case Keys.Left:
this.Text = keyCode;
break;
case Keys.Right:
this.Text = keyCode;
break;
}
}
}
}
寻找彩虹 2010-01-16
  • 打赏
  • 举报
回复
学习了~~~
xp1056 2009-06-05
  • 打赏
  • 举报
回复
mark
corn8888 2009-06-05
  • 打赏
  • 举报
回复
study
jwangyx 2009-06-05
  • 打赏
  • 举报
回复
生成事件 加代码
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Up)
MessageBox.Show("上");
if (e.KeyCode == Keys.Down)
MessageBox.Show("下");
if (e.KeyCode == Keys.Left)
MessageBox.Show("左");
if (e.KeyCode == Keys.Right)
MessageBox.Show("右");
}
zenowolf 2009-06-05
  • 打赏
  • 举报
回复
keydown or keypress 时间里
判断
keys.Up
keys.Down
Keys.Left
Keys.Right
手抓饼加辣 2009-06-05
  • 打赏
  • 举报
回复
学习
corn8888 2009-06-05
  • 打赏
  • 举报
回复
100
wzuomin 2009-06-05
  • 打赏
  • 举报
回复
学习学习

这个推荐的帖子快过百了呀,呵呵。
qiqundelang 2009-06-05
  • 打赏
  • 举报
回复
up
hx_huang 2009-06-05
  • 打赏
  • 举报
回复
private void Form_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyValue == 37)
MessageBox.Show("←");
if(e.KeyValue==38)
MessageBox.Show("↑");
if(e.KeyValue==39)
MessageBox.Show("→");
if(e.KeyValue==40)
MessageBox.Show("↓");
}
济南大飞哥 2009-06-05
  • 打赏
  • 举报
回复
mark
wenjie0728 2009-06-04
  • 打赏
  • 举报
回复
好贴 学习了
Maxlusune 2009-06-04
  • 打赏
  • 举报
回复
使用js
<script type="text/javascript">
window.document.attachEvent("onkeydown", function() {
var a = document.activeElement;
var boxname;
//debugger;
if (a.nodeName == "SELECT" || a.nodeName == "INPUT") {
boxname = a.name.substring(a.name.lastIndexOf("$") + 1);
}
var nextboxname;
if (event.keyCode == 13 && event.srcElement.type != 'button' && event.srcElement.type != 'submit' && event.srcElement.type != 'reset' && event.srcElement.type != '' && event.srcElement.type != 'textarea') {
window.event.keyCode = 9;
}

switch (boxname) {
case "tbLineName": switch (event.keyCode) {
case 37: //left
break;
case 38: //up
break;
case 39: //right
nextboxname = document.getElementById("<%=tbVehName.ClientID %>"); nextboxname.focus(); break;
case 40: //down
nextboxname = document.getElementById("<%=tbCYear.ClientID %>"); nextboxname.focus(); break;

}
break;

case "tbComplainContent": switch (event.keyCode) {
case 37: //left
nextboxname = document.getElementById("<%=ddlType.ClientID %>"); nextboxname.focus(); break;
case 38: //up
break;
case 39: //right
nextboxname = document.getElementById("<%=ddlType.ClientID %>"); nextboxname.focus(); break;
case 40: //down
break;

}
break;
}

});
</script>
lao_bulls 2009-06-04
  • 打赏
  • 举报
回复
mark
pstrunner 2009-06-04
  • 打赏
  • 举报
回复
[Quote=引用 72 楼 anheizhizi 的回复:]
LZ 自己都分析出来了是焦点问题了....
[/Quote]
正解。
corn1111 2009-06-04
  • 打赏
  • 举报
回复
看 看
abcdef406505181 2009-06-04
  • 打赏
  • 举报
回复
收藏了!!!
加载更多回复(81)

110,586

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧