0
我正在寫一個WinForms應用程序,其中用戶可以在GridView控件,但只有高達FF在一個單元格中輸入十六進制值。我想讓用戶輸入長整型值而不用按回車或製表符,如果用戶輸入FFFF值應該到gridview的兩個單元格。我試圖通過計算下面的2個鍵來自動將焦點設置到下一個單元格。C#gridview的焦點設置到下一個單元格自動
我的代碼不工作我不知道如果我的計算策略是正確的。如果我錯了,請糾正我。
private void hexGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
e.Control.KeyPress += new KeyPressEventHandler(CheckKey);
}
private void CheckKey(object sender, KeyPressEventArgs e)
{
e.KeyChar = char.ToUpper(e.KeyChar);
char c = e.KeyChar;
if (!((c >= '0' && c <= '9') || (c >= 'A' && c <= 'F') || validForAll.Contains((Keys)e.KeyChar)))
{
e.Handled = true;
}
else
{
if (++count > 2) // or something same
{
count = 0;
int r = hexGridView1.CurrentCell.RowIndex;
int ci = hexGridView1.CurrentCell.ColumnIndex;
++r; //just for testing
hexGridView1.CurrentCell = hexGridView1[r, ci];
hexGridView1.CurrentCell.Selected = true;
hexGridView1.BeginEdit(true); //require ?
}
}
}