現在、DataGridView コントロールの KeyDown イベントを処理しています。列の 1 つは計算された値で埋められており、必要に応じてユーザーがセルの値をオーバーライドできるようにしたいと考えています。
ユーザーが数字キーを押すと、セルは EditMode になり、ユーザーは値をオーバーライドできます。キーが数値でない場合、何も起こりません...
それはかなりうまくいっています...問題は、コードが醜いことです...単一の条件ですべての数字キーを処理するきちんとした方法を見つけることができないようです。次のように、考えられるすべての数値キーを処理する case 構文:
switch (e.KeyCode)
{
case Keys.D0:
case Keys.D1:
case Keys.D2:
case Keys.D3:
case Keys.D4:
case Keys.D5:
case Keys.D6:
case Keys.D7:
case Keys.D8:
case Keys.D9:
case Keys.Decimal:
case Keys.NumPad0:
case Keys.NumPad1:
case Keys.NumPad2:
case Keys.NumPad3:
case Keys.NumPad4:
case Keys.NumPad5:
case Keys.NumPad6:
case Keys.NumPad7:
case Keys.NumPad8:
case Keys.NumPad9:
[code to make the cell go to editMode, etc...]
確かにうまくいきますが、より良い、より短い方法が必要ですよね?
Googleを使用して見つけることができるのは、e.KeyCodeをcharに変換することだけですが、数字キーを使用すると、数値でも文字が得られます...
ありがとう。