有時鍵自上而下不能在DataGridView
上工作。有時鍵不起作用DataGridView
我不知道爲什麼,特別很是怪異,因爲沒有分配到DataGridView
關鍵的事件代碼...
selectionMode是FullRowSelect
多選是假
此代碼dos沒有幫助...
private void dataGridView1_PreviewKeyDown(object sender, reviewKeyDownEventArgs e)
{
switch (e.KeyCode)
{
case Keys.Down:
e.IsInputKey = true;
break;
case Keys.Up:
e.IsInputKey = true;
break;
}
}
private void dataGridView1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyData == Keys.Down)
{
e.Handled = true;
}
else if (e.KeyData == Keys.Up)
{
e.Handled = true;
}
}
任何線索?
P.S.
看起來好像SelectionChanged
方法做了一些辛苦的工作...所以當我禁用它eberything是好的。
private void dataGridView1_SelectionChanged(object sender, EventArgs e)
{
// Some hard work
}
所以問題是如何優化它。
我假設使用Timer,所以當用戶停止選擇箭頭鍵1秒後 代碼SelectionChanged
方法應該執行。
任何關於最好的辦法線索?
使用PreviewKeyUp/PreviewKeyDown事件。 –
@MitraM你會不介意解釋爲什麼我必須使用它們以及它應該如何完成? –
請參閱[本](https://msdn.microsoft.com/en-us/library/system.windows.forms.control.previewkeydown(v = vs.110).aspx)和[this](http: /stackoverflow.com/questions/31673415/cancel-previewkeydown)。 –