读书人

dataGridView1在某个单元格编者后按

发布时间: 2012-06-24 18:32:37 作者: rapoo

dataGridView1在某个单元格编辑后,按enter事件
在C#winform窗体下
我想在dataGridView1,编辑某单元格后,按enter,比如执行
if (e.KeyChar == '\r')
{
MessageBox.Show("你好");
}
也就是要监听enter事件。现在是无论我怎么写,按enter读是自动换行到下一行的单元格。
请问:如何实现dataGridView1,编辑某单元格后,按enter,执行enter事件的内容。

[解决办法]
e.keyCode == 13
[解决办法]
Visual Studio的话,光标移到 if (e.KeyChar == '\r') 这一行,按F9,在最前面会出现一个红点。按F5进行Debug,执行到 if这里就会停下,你可以在 监视窗内 输入e.KeyChar,就可以看到值。这个值当然是你先前按下什么键,就是那个键的值。

[解决办法]
Gird中没有keypress, 你可以在CellValueChanged事件中编写,当然之前需要多一个判断,是在哪一列
[解决办法]
用CellLeave事件:

C# code
private void dgvWR_CellLeave(object sender, DataGridViewCellEventArgs e)        {            MessageBox.Show(dgvWR.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString());        }
[解决办法]
private void dataGridView_CellEnter(object sender, DataGridViewCellEventArgs e)
{
MessageBox.Show("你好");
}
[解决办法]
那就用CellValueChanged事件吧,不过在dataGridView加载数据的时候,要做一下判断数据是否全部加载完。。

读书人网 >C#

热点推荐