问题描述
我在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事件,这个事件更早发生,