C# 中怎么调用方向键和回车
我想每隔3秒钟执行一次方向键和回车,请问怎么调用啊,刚学几天,但是特别感兴趣想做点东西玩高手帮忙了关键是动作怎么调用比如向上键和回车键...
我想每隔3秒钟执行一次 方向键和回车,请问怎么调用啊,刚学几天,但是特别感兴趣 想做点东西玩 高手帮忙了
关键是动作怎么调用
比如 向上键和回车键 展开
关键是动作怎么调用
比如 向上键和回车键 展开
4个回答
展开全部
SendKeys.Send(Keys.Enter.ToString());//模拟按下回车键
SendKeys.Send("{BackSpace}");// 模拟按下退格键
以下是 SendKeys 的一些特殊键代码表。
键 代码
BACKSPACE {BACKSPACE}、{BS} 或 {BKSP}
BREAK {BREAK}
CAPS LOCK {CAPSLOCK}
DEL 或 DELETE {DELETE} 或 {DEL}
DOWN ARROW(下箭头键) {DOWN}
END {END}
ENTER {ENTER} 或 ~
ESC {ESC}
HELP {HELP}
HOME {HOME}
INS 或 INSERT {INSERT} 或 {INS}
LEFT ARROW(左箭头键) {LEFT}
NUM LOCK {NUMLOCK}
PAGE DOWN {PGDN}
PAGE UP {PGUP}
PRINT SCREEN {PRTSC}(保留,以备将来使用)
RIGHT ARROW(右箭头键) {RIGHT}
SCROLL LOCK {SCROLLLOCK}
TAB {TAB}
UP ARROW(上箭头键) {UP}
F1 {F1}
F2 {F2}
F3 {F3}
F4 {F4}
F5 {F5}
F6 {F6}
F7 {F7}
F8 {F8}
F9 {F9}
F10 {F10}
F11 {F11}
F12 {F12}
F13 {F13}
F14 {F14}
F15 {F15}
F16 {F16}
数字键盘加号 {ADD}
数字键盘减号 {SUBTRACT}
数字键盘乘号 {MULTIPLY}
数字键盘除号 {DIVIDE}
若要指定与 SHIFT、CTRL 和 ALT 键的任意组合一起使用的键,请在这些键代码之前加上以下一个或多个代码:
键 代码
SHIFT +
CTRL ^
ALT %
SendKeys.Send("{BackSpace}");// 模拟按下退格键
以下是 SendKeys 的一些特殊键代码表。
键 代码
BACKSPACE {BACKSPACE}、{BS} 或 {BKSP}
BREAK {BREAK}
CAPS LOCK {CAPSLOCK}
DEL 或 DELETE {DELETE} 或 {DEL}
DOWN ARROW(下箭头键) {DOWN}
END {END}
ENTER {ENTER} 或 ~
ESC {ESC}
HELP {HELP}
HOME {HOME}
INS 或 INSERT {INSERT} 或 {INS}
LEFT ARROW(左箭头键) {LEFT}
NUM LOCK {NUMLOCK}
PAGE DOWN {PGDN}
PAGE UP {PGUP}
PRINT SCREEN {PRTSC}(保留,以备将来使用)
RIGHT ARROW(右箭头键) {RIGHT}
SCROLL LOCK {SCROLLLOCK}
TAB {TAB}
UP ARROW(上箭头键) {UP}
F1 {F1}
F2 {F2}
F3 {F3}
F4 {F4}
F5 {F5}
F6 {F6}
F7 {F7}
F8 {F8}
F9 {F9}
F10 {F10}
F11 {F11}
F12 {F12}
F13 {F13}
F14 {F14}
F15 {F15}
F16 {F16}
数字键盘加号 {ADD}
数字键盘减号 {SUBTRACT}
数字键盘乘号 {MULTIPLY}
数字键盘除号 {DIVIDE}
若要指定与 SHIFT、CTRL 和 ALT 键的任意组合一起使用的键,请在这些键代码之前加上以下一个或多个代码:
键 代码
SHIFT +
CTRL ^
ALT %
展开全部
C#winForm里键盘事件的响应
1,方向键和回车不能够在KeyDown事件里响应.解决方案是重写ProcessCmdKey
2,其原理并不清晰.base.ProcessCmdKey调用父类的键盘事件.
KeyDown函数等于在父类里注册了一个事件响应代码.
//在KeyDown事件里无法捕获方向键,回车.能捕获空格之类
//但是是重写了之后,就不能捕获了.
private void FrmKeyDown_KeyDown(object sender, KeyEventArgs e)
{
//MessageBox.Show(e.KeyCode.ToString());//这里捕获不到方向键
switch (e.KeyCode)
{
case Keys.Right:
MessageBox.Show("Right123");
break;
case Keys.Left:
MessageBox.Show("Left123");
break;
case Keys.Up://方向键不反应
MessageBox.Show("up123");
break;
case Keys.Down:
MessageBox.Show("Down123");
break;
case Keys.Space:
MessageBox.Show("space123");//空格可以响应
break;
case Keys.Enter:
MessageBox.Show("enter123");
break;
}
}
//方向键事件的处理,只能重写ProcessCmdKey,重写的方法体可以自动生成,不用担心.
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
switch (keyData)
{
case Keys.Right:
MessageBox.Show("Right");
break;
case Keys.Left:
MessageBox.Show("Left");
break;
case Keys.Up://方向键不反应
MessageBox.Show("up");
break;
case Keys.Down:
MessageBox.Show("down");
break;
case Keys.Space:
MessageBox.Show("space");
break;
case Keys.Enter:
MessageBox.Show("enter");
break;
}
//return false;//如果要调用KeyDown,这里一定要返回false才行,否则只响应重写方法里的按键.
//这里调用一下父类方向,相当于调用普通的KeyDown事件.//所以按空格会弹出两个对话框
return base.ProcessCmdKey(ref msg, keyData);
}
1,方向键和回车不能够在KeyDown事件里响应.解决方案是重写ProcessCmdKey
2,其原理并不清晰.base.ProcessCmdKey调用父类的键盘事件.
KeyDown函数等于在父类里注册了一个事件响应代码.
//在KeyDown事件里无法捕获方向键,回车.能捕获空格之类
//但是是重写了之后,就不能捕获了.
private void FrmKeyDown_KeyDown(object sender, KeyEventArgs e)
{
//MessageBox.Show(e.KeyCode.ToString());//这里捕获不到方向键
switch (e.KeyCode)
{
case Keys.Right:
MessageBox.Show("Right123");
break;
case Keys.Left:
MessageBox.Show("Left123");
break;
case Keys.Up://方向键不反应
MessageBox.Show("up123");
break;
case Keys.Down:
MessageBox.Show("Down123");
break;
case Keys.Space:
MessageBox.Show("space123");//空格可以响应
break;
case Keys.Enter:
MessageBox.Show("enter123");
break;
}
}
//方向键事件的处理,只能重写ProcessCmdKey,重写的方法体可以自动生成,不用担心.
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
switch (keyData)
{
case Keys.Right:
MessageBox.Show("Right");
break;
case Keys.Left:
MessageBox.Show("Left");
break;
case Keys.Up://方向键不反应
MessageBox.Show("up");
break;
case Keys.Down:
MessageBox.Show("down");
break;
case Keys.Space:
MessageBox.Show("space");
break;
case Keys.Enter:
MessageBox.Show("enter");
break;
}
//return false;//如果要调用KeyDown,这里一定要返回false才行,否则只响应重写方法里的按键.
//这里调用一下父类方向,相当于调用普通的KeyDown事件.//所以按空格会弹出两个对话框
return base.ProcessCmdKey(ref msg, keyData);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你是web还是form?两种最起码每三秒的方法是不一样的。估计是windows.form吧?
System.Timers.Timer t = new System.Timers.Timer(1);//实例化Timer类,设置间隔时间为1毫秒;
t.Elapsed += new System.Timers.ElapsedEventHandler(wantdo);//到达时间的时候执行事件;
t.AutoReset = true;//设置是执行一次(false)还是一直执行(true);
t.Enabled = true; //是否执行System.Timers.Timer.Elapsed事件;
public void wantdo(object source, System.Timers.ElapsedEventArgs e)
{
//你想执行的动作
}
System.Timers.Timer t = new System.Timers.Timer(1);//实例化Timer类,设置间隔时间为1毫秒;
t.Elapsed += new System.Timers.ElapsedEventHandler(wantdo);//到达时间的时候执行事件;
t.AutoReset = true;//设置是执行一次(false)还是一直执行(true);
t.Enabled = true; //是否执行System.Timers.Timer.Elapsed事件;
public void wantdo(object source, System.Timers.ElapsedEventArgs e)
{
//你想执行的动作
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
受益了..
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询