请问一个关于keypress简单的问题

问题描述

privatevoidForm1_KeyPress(objectsender,KeyPressEventArgse){stringkey=e.KeyChar.ToString();if(key=="a"){dir=1;}if(key=="d"){dir=2;}if(key=="s"){dir=3;}if(key=="s"){dir=4;}}这段代码中如果我把adsw换成Up,Down,Left,Right就不能用了,请问有什么方法

解决方案

解决方案二:
KeyPress的解释是:Occurswhenacharacter.spaceorbackspacekeyispressedwhilethecontrolhasfocus.方向键不是character,space或者backspace,因此不fire很好理解。但是我自己试了下keydown也不fire,我测试的是form,你可以试一试其它control.按理说可以。最后我是使用这种方法protectedoverrideboolProcessCmdKey(refMessagemsg,KeyskeyData){if(keyData==Keys.Left){MessageBox.Show("YoupressedLeftarrowkey");returntrue;}returnbase.ProcessCmdKey(refmsg,keyData);}

参考:
解决方案三:
if(keyData==Keys.Left)为了养成良好习惯最好用ifelse或switch
解决方案四:
KeyPress只对可显示按键触发,不是所有按键都会触发KeyPress。要捕获所有按键,应该使用KeyDown和KeyUp事件。
解决方案五:
#1正解功能键无法触发KeyPress

时间: 2024-07-29 09:17:13

请问一个关于keypress简单的问题的相关文章

请问一个textbox实现的Keypress的联合响应

问题描述 问题描述请教一个关于keypress中联合相应两个热键,就像QQ按CTRL+ENTER后发送消息一样.if(e.KeyChar==(char)13){}这个只能响应回车键请高人指点 解决方案 解决方案二:usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Window

一个ajax最简单的问题困扰了好久啊,求大神帮忙看看,后台是vb.net的

问题描述 一个ajax最简单的问题困扰了好久啊,求大神帮忙看看,后台是vb.net的 前台的ajax是这样的: <script type="text/javascript"> $(function () { $("#button1").click(function () { $.ajax({ type: "post", url: "ajax.aspx/ajaxtext", dataType: "text&

请问一个vc++数据类型的问题

问题描述 请问一个vc++数据类型的问题 我看书上说过,类型unsigned int 可以缩写为unsigned,请问下这话对吗?还是印刷错了 解决方案 对的,unsigned int可以缩写成unsigned;long int可以写成long等等,这个记住就行了,感觉回答满意记得采纳哦 解决方案二: ......对的......

基础-请问一个C语言奇怪的问题,求大神

问题描述 请问一个C语言奇怪的问题,求大神 //加了所有需要的头文件intmain(int argc char **argv){ struct event timeout; struct timeval tv; struct event_base *base; int flags; //printf(""pathvar=%s""getenv(""PATH"")); 注释1#ifdef WIN32 WORD wVersionRe

ios-iOS:请问一个线程涉及2个类,如何向该线程performSelecto?

问题描述 iOS:请问一个线程涉及2个类,如何向该线程performSelecto? 我有一个线程,这线程首先是在a类中创建,并调用a类的a1方法,而a1方法又调用了b类的b1方法. 我在c类中,想向该线程发通知,希望其调用b类的b2方法, 我的代码: [self performSelector:@selector(b2) onThread:m_thread withObject:nil waitUnitilDone:NO]; 提示:unrecognized selector to instan

请问一个web工程中,是否可同时使用struts1和struts2?

问题描述 请问一个web工程中,是否可同时使用struts1和struts2? 请问一个web工程中,是否可同时使用struts1和struts2? 解决方案 理论上可以,但是要非常小心,比如重名的类型,还有url映射和配置文件.建议你独立成两个网站,互相调用. 解决方案二: 最好是不要同时使用, 很容易出错. 解决方案三: 应该可以,你确定这样用了方便以后维护吗? 解决方案四: struts2不是夸张1吗,有需要给自己找麻烦吗 解决方案五: 在原来的struts1的项目上需要新功能,你想用st

c++-请问一个MFC中的DC的问题

问题描述 请问一个MFC中的DC的问题 void CmouselessionDlg::OnMouseMove(UINT nFlags, CPoint point) { if (nFlags ==MK_LBUTTON) { dd.MoveTo(pt); dd.LineTo(point.x,point.y); } pt = point; CDialogEx::OnMouseMove(nFlags, point); } 请问下这个程序对么?pt和dd都定义了 解决方案 没问题呀,那个dd应该是个CDC

强制转换-请问一个关于指针操作数据的问题!

问题描述 请问一个关于指针操作数据的问题! 嵌入式程序,编译器IAR,CPU 瑞萨unsigned char a[]={0x010x020x030x040x050x06};int test(void){ unsigned short *p=(unsigned short *)(&a[1]); unsigned short temp=p[0];//此时编译器Watch 里面 p[0]=0x0302 temp=0x0201 if(0x0302==p[0])//走else { //do somethi

c-我刚刚入门,写一个一元多项式的简单计算,求帮忙解决这个加减问题,代码如下,帮忙找出错误,急急急

问题描述 我刚刚入门,写一个一元多项式的简单计算,求帮忙解决这个加减问题,代码如下,帮忙找出错误,急急急 #include #include typedef struct node { float c; int e; struct node * next; }lnode,*plnode; void insert_menu(); void insert_pol(plnode &l); void output_pol(plnode &l); void add_pol(plnode list1,