关于Keydown的问题

问题描述

为什么在keydown里,keys.up,keys.down等不能使用

解决方案

解决方案二:
可以的,可能是其他原因,再说详细点吧.
解决方案三:
usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;namespacesnake{publicpartialclassForm1:Form{intsnakedirection=2;intx=1;inty=1;intx1=1;inty1=1;publicintwidth=10;List<Point>postions=newList<Point>();List<Point>foodpostions=newList<Point>();publicForm1(){InitializeComponent();}privatevoidForm1_Load(objectsender,EventArgse){this.BackColor=Color.Black;//postions.Add(newPoint(x,y));timer1.Enabled=true;postions.Add(newPoint(x,y));foodpostions.Add(newPoint(x,y));}privatevoidbutton1_Click(objectsender,EventArgse){//postions.Add(newPoint(1,1));Randomnum=newRandom();for(inti=1;i<=foodpostions.Count;i++){x1=num.Next(1500/width);y1=num.Next(1600/width);}Graphicsg=CreateGraphics();Penp2=newPen(Color.Pink);Brushbrush1=p2.Brush;g.FillRectangle(brush1,x1,y1,width,width);}privatevoidtimer1_Tick(objectsender,EventArgse){timer1.Interval=500;if(Enabled==true){Graphicsg1=CreateGraphics();Penp1=newPen(Color.Red);Penp2=newPen(Color.Black);Brushbrush1=p1.Brush;Brushbrush2=p2.Brush;postions.Add(newPoint(x,y));switch(snakedirection){case1:y=postions[postions.Count-1].Y-width;break;case2:x=postions[postions.Count-1].X+width;break;case3:y=postions[postions.Count-1].Y+width;break;case4:x=postions[postions.Count-1].X-width;break;default:break;}g1.FillRectangle(brush2,postions[postions.Count-2].X,postions[postions.Count-2].Y,width,width);g1.FillRectangle(brush1,postions[postions.Count-1].X,postions[postions.Count-1].Y,width,width);}}privatevoidForm1_KeyDown(objectsender,KeyEventArgse){switch(e.KeyCode){caseKeys.Up://向上走snakedirection=1;break;caseKeys.Down://向下走snakedirection=3;break;caseKeys.Left://;向左走snakedirection=4;break;caseKeys.Right://向右走snakedirection=2;break;default:break;}}}
解决方案四:
现在是按上下左右键没反应呀
解决方案五:
对的,我也遇到这个问题了,求解释。。。
解决方案六:
好像把KeyDown事件改为KeyUp事件就好了
解决方案七:
确认:Form1的“Keypreview”属性是否为true!
解决方案八:
看到你自创建ID来共29篇帖子无一结贴,我得到以下结论:一个只知道索取不知道回报的家伙!
解决方案九:
确认一下你的窗口事件里KeyDown事件是否有加上不。。。

时间: 2024-08-01 04:20:43

关于Keydown的问题的相关文章

C#中KeyDown与KeyUp事件

在键盘按下键然后释放的过程中有3个事件发生,分别为KeyDown事件.KeyPress事件和KeyUp事件. KeyDown和KeyUp事件让应用程序捕捉用户在键盘上按下的特殊键或某些特定键甚至组合键,只有在想要取得按下键或特殊键的相关信息时,才用到KeyDown和KeyUp事件.下面对KeyDown和KeyUp事件分别进行介绍. 1.KeyDown事件 KeyDown事件在首次按下某个键时发生. 示例 KeyDown事件的使用 本示例中,判断用户是否按下特殊键,如果是,则显示在窗体的标题栏上.

JQuery keyUp和keyDown的区别

 这篇文章主要是对JQuery中keyUp与keyDown的区别进行了详细的分析介绍,需要的朋友可以过来参考下,希望对大家有所帮助 定义和用法 完整的 key press 过程分为两个部分:1. 按键被按下:2. 按键被松开.   当按钮被按下时,发生 keydown 事件.   keydown() 方法触发 keydown 事件,或规定当发生 keydown 事件时运行的函数.    代码如下: <html> <head> <script type="text/j

利用Keydown事件阻止用户输入实现代码

 这篇文章主要介绍了利用Keydown事件阻止用户输入的具体实现,需要的朋友可以参考下 先了解下各事件的区别    KeyDown:在控件有焦点的情况下按下键时发生  KeyPress:在控件有焦点的情况下按下键时发生  KeyUp: 在控件有焦点的情况下释放键时发生    1.KeyPress主要用来接收字母.数字等ANSI字符.KeyDown 和 KeyUP 事件过程通常可以捕获键盘除了PrScrn所有按键(这里不讨论特殊键盘的特殊键    2.KeyPress 只能捕获单个字符,KeyDo

Javascript中KeyDown、KeyUp和KeyPress三个事件区别

在js中三个事件都是按键事件了,下面我们来看看KeyDown,KeyUp,KeyPress这三个事件的区别在哪里吧,希望例子能帮助到各位. 1.引发事件的按键 非字符键不会引发 KeyPress 事件,但非字符键却可以引发 KeyDown 和 KeyUp 事件.KeyPress 事件 KeyChar 属性可以获取输入的字符. 2.事件引发的时间 KeyDown 和 KeyPress 事件在按下键时发生,KeyUp 事件在释放键时发生. 3.事件发生的顺序 KeyDown -> KeyPress

利用Keydown事件阻止用户输入实现代码_javascript技巧

先了解下各事件的区别 KeyDown:在控件有焦点的情况下按下键时发生 KeyPress:在控件有焦点的情况下按下键时发生 KeyUp: 在控件有焦点的情况下释放键时发生 1.KeyPress主要用来接收字母.数字等ANSI字符.KeyDown 和 KeyUP 事件过程通常可以捕获键盘除了PrScrn所有按键(这里不讨论特殊键盘的特殊键 2.KeyPress 只能捕获单个字符,KeyDown 和KeyUp 可以捕获组合键. 3.KeyPress 不显示键盘的物理状态(SHIFT键),而只是传递一

C# keydown事件求解 如何让响应事件有多个参数?

问题描述 C# keydown事件求解 如何让响应事件有多个参数? private void Mission_KeyDown(object sender, KeyEventArgs e,short i) { if (e.KeyCode == Keys.Enter) { } } 如上.如果我在事件里增加了一个参数,那么我在 MissionTxt[i].KeyDown += new KeyEventHandler(Mission_KeyDown(MissionTxt[i],?,i));的时候如何写事

控件-C# 单窗体keydown事件不响应

问题描述 C# 单窗体keydown事件不响应 没有别的控件,具体情况如下: 解决方案 this.keydown += form1_keydown; 这个写了么 解决方案二: 直接从属性窗口的事件双击,keycode,控制按键用e.control&e.keycode 解决方案三: 问题一描述:当新建一个窗体时,添加KeyDown事件后,会正常处理,但是当添加有控件时,比如Button,TextBox,不会触发窗体的KeyDown事件,也没有调用KeyDown事件的处理程序. 原因:由于窗体中添加

easyui-用户登陆按Enter提交时,keydown事件覆盖了$.messager.alert()弹出框

问题描述 用户登陆按Enter提交时,keydown事件覆盖了$.messager.alert()弹出框 在用户登陆界面中,在页面初始化时,添加键盘事件: $(function() { $(document).keydown(function(e){ if(e.keyCode == 13){ login(); } }); }); function login(){ $.ajax();发送请求在回调函数中调用easyui提供的 $.messager.alert('登录提示', '用户名不存在!',

jquery.hotkeys监听键盘按下事件keydown

jquery.hotkeys文件下载:  http://download.csdn.net/detail/pukuimin1226/4389643 参照了一下它的文档用法,我们可以这样使用:     <script src="jquery-1.4.1.min.js" type="text/javascript"></script>     <script src="jquery.hotkeys.js" type=&q

C# WinForm中PreviewKeyDown、KeyDown、KeyPress、KeyUp区别与联系

1.键事件按下列顺序发生: PreviewKeyDown        KeyDown        KeyPress        KeyUp2.KeyDown触发后,不一定触发KeyUp,当KeyDown 按下后,拖动鼠标,那么将不会触发KeyUp事件.3.定义 PreviewKeyDown:在焦点位于此控件上的情况下,当有按键动作时发生(在 KeyDown 事件之前发生). 小注: 某些按键,比如 Tab.Return.Esc 和箭头键,通常会被某些控件忽略,因为它们没有被视为输入按键.