winform, 在textbox 按下方向键↑↓,对应datagridview的行上下移动
焦点始终在textbox,如何处理
捕获文本框的上下事件,,调用下面2个事件就ok了
/// <summary>
/// 上移
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btn_up_Click(object sender, EventArgs e)
{
if (tabControl1.SelectedIndex == 0)
{
if (gvManCase.SelectedRows.Count == 0)
{
this.Focus();
return;
}
int rowindex = gvManCase.SelectedRows[0].Index;
if (rowindex > 0)
{
mo.Crd_ID = gvManCase.SelectedRows[0].Cells["CRD_ID"].Value.ToString();
mo.Crd_Oderid = int.Parse(gvManCase.SelectedRows[0].Cells["CRD_ODERID"].Value.ToString());
model.Crd_ID = this.gvManCase.Rows[rowindex - 1].Cells["CRD_ID"].Value.ToString();
model.Crd_Oderid = int.Parse(this.gvManCase.Rows[rowindex - 1].Cells["CRD_ODERID"].Value.ToString());
ca.Move(mo, model);
getAllMan();
foreach (DataGridViewRow dgvr in gvManCase.SelectedRows)
{
dgvr.Selected = false;
}
gvManCase.Rows[rowindex - 1].Selected = true;
gvManCase.CurrentCell = gvManCase.Rows[rowindex - 1].Cells[1];
}
}
else
{
if (gvWomanCase.SelectedRows.Count == 0)
{
this.Focus();
return;
}
int rowindex = gvWomanCase.SelectedRows[0].Index;
if (rowindex > 0)
{
mo.Crd_ID = gvWomanCase.SelectedRows[0].Cells["CRD_IDS"].Value.ToString();
mo.Crd_Oderid = int.Parse(gvWomanCase.SelectedRows[0].Cells["CRD_ODERIDS"].Value.ToString());
model.Crd_ID = this.gvWomanCase.Rows[rowindex - 1].Cells["CRD_IDS"].Value.ToString();
model.Crd_Oderid = int.Parse(this.gvWomanCase.Rows[rowindex - 1].Cells["CRD_ODERIDS"].Value.ToString());
ca.Move(mo, model);
getAllWoman();
foreach (DataGridViewRow dgvr in gvWomanCase.SelectedRows)
{
dgvr.Selected = false;
}
gvWomanCase.Rows[rowindex - 1].Selected = true;
gvWomanCase.CurrentCell = gvWomanCase.Rows[rowindex - 1].Cells[1];
}
}
}
/// <summary>
/// 下移
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btn_down_Click(object sender, EventArgs e)
{
if (tabControl1.SelectedIndex == 0)
{
DataTable dt = (DataTable)gvManCase.DataSource;
if (gvManCase.SelectedRows.Count == 0)
{
this.Focus();
return;
}