当用户在我的一个datagridview单元格中按下Enter键时(如在column1单元格中),应该打开一个像form2这样的新表单。我知道在keypress事件中我应该编写e.handled=true;
来实现这一点,但是当datagridview单元处于活动状态时,此代码不起作用。我该怎么办?
答案 0 :(得分:2)
您需要处理DataGridView控件的EditingControlShowing
事件和Cell控件的PreviewKeyDown
事件。
dataGridView1.EditingControlShowing += (senderObject,eventArgs)=>
{
eventArgs.Control.PreviewKeyDown += (sa, ea) =>
{
if (ea.KeyCode == Keys.Return)
{
MessageBox.Show("Something...");
}
};
};
答案 1 :(得分:0)
您好,请尝试在下面使用它 创建两种形式 在form1上,使用下面指定名称上的网格,或者可以使用
private void dataGridView1_KeyDown(object sender, KeyEventArgs e)
{
testform tf = new testform();
{
if (dataGridView1.CurrentRow.Cells[0].Selected)
{
if (e.KeyCode.ToString() == "F1")
{
tf.Show();
}
}
}