恼火,为什么不触发keydown事件

问题描述

我在datagridview控件中注册keydown事件了,程序启动后按键盘毫无反应,为什么啊?

解决方案

解决方案二:
试试keypress
解决方案三:
试试keypress
解决方案四:
我用以下代码实验,能引发KeyDown事件。你清理下代码,看看哪句话引发了问题。publicpartialclassForm1:Form{publicForm1(){dataGridView1=newDataGridView();((ISupportInitialize)(dataGridView1)).BeginInit();SuspendLayout();////dataGridView1//dataGridView1.ColumnHeadersHeightSizeMode=DataGridViewColumnHeadersHeightSizeMode.AutoSize;dataGridView1.Location=newPoint(0,0);dataGridView1.Name="dataGridView1";dataGridView1.RowTemplate.Height=23;dataGridView1.Size=newSize(240,150);dataGridView1.TabIndex=0;dataGridView1.KeyDown+=dataGridView1_KeyDown;////Form1//AutoScaleDimensions=newSizeF(6F,12F);AutoScaleMode=AutoScaleMode.Font;ClientSize=newSize(284,262);Controls.Add(dataGridView1);Name="Form1";Text="Form1";((ISupportInitialize)(dataGridView1)).EndInit();ResumeLayout(false);}privatevoiddataGridView1_KeyDown(objectsender,KeyEventArgse){}}

解决方案五:
我用以下代码实验,能引发KeyDown事件。你清理下代码,看看哪句话引发了问题。publicpartialclassForm1:Form{publicForm1(){dataGridView1=newDataGridView();((ISupportInitialize)(dataGridView1)).BeginInit();SuspendLayout();////dataGridView1//dataGridView1.ColumnHeadersHeightSizeMode=DataGridViewColumnHeadersHeightSizeMode.AutoSize;dataGridView1.Location=newPoint(0,0);dataGridView1.Name="dataGridView1";dataGridView1.RowTemplate.Height=23;dataGridView1.Size=newSize(240,150);dataGridView1.TabIndex=0;dataGridView1.KeyDown+=dataGridView1_KeyDown;////Form1//AutoScaleDimensions=newSizeF(6F,12F);AutoScaleMode=AutoScaleMode.Font;ClientSize=newSize(284,262);Controls.Add(dataGridView1);Name="Form1";Text="Form1";((ISupportInitialize)(dataGridView1)).EndInit();ResumeLayout(false);}privatevoiddataGridView1_KeyDown(objectsender,KeyEventArgse){}}

解决方案六:
我的代码privatevoiddgv_detail_KeyDown(objectsender,KeyEventArgse){if(e.KeyCode==Keys.D)MessageBox.Show("123","");}

执行OK.
解决方案七:
在窗口的Designer.cs文件中查找像下面这样的代码this.dgv_detail.KeyDown+=newSystem.Windows.Forms.KeyEventHandler(this.dgv_detail_KeyDown);

看看委托的事件有没有?
解决方案八:
楼主把代码发出来大家看看哪边问题不然这样大家怎么说呢
解决方案九:
你是不是直接写的code代码,没有事件中添加对应的KEY_DOWN事件呢~~仔细看看~~如果你没有添加的话,直接在datagridview控件的事件中(动作)选择keydown就可以了。
解决方案十:
在界面设计状态,选中dgv_detail,在属性窗口中,选择闪电图标的"事件",在对应的KeyDown选项中的右边框中双击,进行代码窗口,在光标指示处输入要在KeyDown事件中执行的代码即可.
解决方案十一:
焦点在dgv才可以响应事件你直接启动出来肯定是不行的。
解决方案十二:
在Form_Load事件里加入这个代码this.dgv_detail.TabIndex=0;
解决方案十三:
KeyDown不行的话可以试一下PreviewKeyDown事件,这个事件更早发生,
解决方案十四:
KeyDown不行的话可以试一下PreviewKeyDown事件,这个事件更早发生,

时间: 2024-08-01 10:02:48

恼火,为什么不触发keydown事件的相关文章

C# 窗体程序的 KeyDown 事件不触发

问题描述 我的程序首先有一个主窗体并在其Panel里建立了一个MDI子窗体子窗体中有panel和image两个控件但是子窗体的KeyDown事件并不被触发请教原因啊(keyPreview已为true) 解决方案 解决方案二:而且我发现首次创建MDI子窗体后切回到桌面再切回来KeyPress可以正常触发了,但是关闭再新建一个MDI子窗体就不行了解决方案三:看代码,事件有没有注册,是不是什么地方影响到了.解决方案四:只在子窗体有焦点时触发解决方案五:引用2楼guwei4037的回复: 看代码,事件有

jquery 绑定回车动作扑捉回车键触发的事件

 这篇文章主要介绍了jquery如何扑捉回车键触发的事件,需要的朋友可以参考下 1.jquery捕捉回车键:  代码如下: $("html").die().live("keydown",function(event){  if(event.keyCode==13){  //这里添加要处理的逻辑  }  });    //绑定回车动作  $('textarea[name=chattext]').keydown(function(event){  if(event.wh

javascript-Javascript写贪吃蛇:火狐下无法触发按键事件。

问题描述 Javascript写贪吃蛇:火狐下无法触发按键事件. <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> *{margin: 0;padding: 0;font-family: 'Microsoft Yahei';text-align: c

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事件的处理程序. 原因:由于窗体中添加

在不操作窗口的情况下触发resize事件

问题描述 在不操作窗口的情况下触发resize事件 function classJudegSize1() { var reallySize=parseInt($(".img_box")[1].naturalWidth); $(window).on("resize", function () { var img_box=parseInt($(".img_box:eq(1)").css("width")) ; var mainWa

超链接触发onclick事件而不跳转

在web页面开发时,我们经常会遇到下列情况: 1.一个标签仅仅是要触发onclick行为: 2.表现上要有鼠标的pointer指针显示,或者其他类似a标签的视觉效果. 比如执行删除操作时,为了避免误操作,我们要弹出对话框让用户确定是否删除.因此我们经常会用链接<a></a>形式代替<button> 触发onclick事件. 代码如下:     <script type="text/javascript">            funct

在Global.asax可以触发那些事件?

Application对象创建和结束时所触发的事件有 Application_Start  Application_End Session对象创建和结束时所触发的事件有 • Session_Start • Session_End 对程序有请求发生时触发的事件有 (按发生顺序排列) • Application_BeginRequest • Application_AuthenticateRequest • Application_AuthorizeRequest • Application_R

datagrid触发&amp;#106avascript事件

datagrid 触发javascript事件 public static void DG_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e) { LinkButton l=new LinkButton(); if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem