私はdatagridview(dgv)を持っていて、そのためのショートカットをいくつか設定しています。私はdgv selectedIndexChanged
のときに私の希望するセルの値を取得したい。
最初のインデックスを変更するとdatagridviewのセル値が得られる
if (dgv.Rows.Count > 0)
{
lblId.Text = dgv.CurrentRow.Cells[0].Value.ToString();
lblStaffName.Text = dgv.CurrentRow.Cells[1].Value.ToString();
lblStock.Text = dgv.CurrentRow.Cells[4].Value.ToString();
}
と私のDGVのためにいくつかのショートカットを定義した: これは私がselectedIndexChanged
イベントのためにやったものです。
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (keyData == (Keys.Alt | Keys.Down))
{
if (dgv.Rows.Count > 0)
{
dgv.Focus();
if (dgv.CurrentRow.Index < (dgv.Rows.Count - 1))
{
dgv.Rows[dgv.CurrentRow.Index + 1].Selected = true;
dgv.FirstDisplayedScrollingRowIndex = dgv.CurrentRow.Index + 1;
pnl.BackColor = Color.FromKnownColor(KnownColor.Lime);
}
}
}
}
注:あなたが見ることができるように、私は押したときにAlt+keyDown
DGV指数が増加し、より一歩に変更されます。
Alt+keyDown
のインデックスを変更してを選択したときに問題が発生しましたが、もう一度Alt+keyDown
を押すまで値が変更されません。
私はそこにコードを書かなければならない出来事はありますか?感謝:)
優れたソリューション。おかげでたくさん:) –
あなたは大歓迎です:) –