我正在开发一个windows form
,其中包含两个控件Textbox
和Datagridview
。
现在,当我第一次打开表单时,焦点应该放在文本框上,如果我输入内容,它应该附加在文本框中。
如果我按下UP/Down arrow key
焦点应该在DataGridview
上,Highlight
应该移到下一行。
但问题是它只将焦点设置为gridview
,但不选择下一行。它滚动down/UP on next key press
。如果焦点在GridView
和if I start typing alphabets it should be appended to TextBox text
上,则相同,但此处它也只将焦点设置为textbox
,而在另一个按键上,它会开始在其中键入文字。
如何实现这个?
我使用的代码是:
if (e.KeyCode== Keys.Down)
{
this.DgAppDetails.Focus();
int index = DgAppDetails.CurrentCell.RowIndex;
if (index != DgAppDetails.Rows.Count - 1)
{
if (i == 0)
{
DgAppDetails.CurrentCell = DgAppDetails.Rows[index+1].Cells[0];
i++;
}
}
}
else if(e.KeyCode==Keys.Up)
{
this.DgAppDetails.Focus();
int index = DgAppDetails.CurrentCell.RowIndex;
if (index != 0)
{
if (i == 0)
{
DgAppDetails.CurrentCell = DgAppDetails.Rows[index - 1].Cells[0];
i++;
}
}
}
答案 0 :(得分:0)
您遇到的问题是因为您正在更改CurrentCell
,而不是,SelectedCells
试试这个:
DgAppDetails.SelectedCells.Clear();
DgAppDetails.SelectedCells.Insert(DgAppDetails.CurrentCell);