読み取り専用のテキスト ボックスで押されたキーに応じて、他のテキスト ボックスに 1 を加算または減算するコードを考え出そうとしています。私の問題は、テンキーの #(0-9) を qwerty キーボードの上の # と区別する必要があることです。NumLock ON で以下のコードを使用すると、テンキーの数字は他の数字とまったく同じように機能します (1 を減算します)。NumLock が OFF の場合は何もしません。テンキーの # を押すと 1 を加算し、非テンキーの # を押すと 1 を減算します。答えをグーグルで試してみましたが、何も思いつきませんでした。
助けてくれてありがとう。
void txtTotal_KeyPress(object sender, KeyPressEventArgs e)//when a key is pressed total text box, depending on key add or subtract 1 to another test box (txtTotal is set to read only)
{
switch (e.KeyChar)
{
case (char)96://numpad 0
addNRBC();
break;
case (char)48://keyboard 0
subtractNRBC();
break;
}
}
public void addNRBC()
{
num1 = Convert.ToInt32(txtNRBC.Text);
txtNRBC.Text = Convert.ToString(num1 + 1);//adds 1 to NRBCs field
Total();
}
public void subtractNRBC()
{
num1 = Convert.ToInt32(txtNRBC.Text);
txtNRBC.Text = Convert.ToString(num1 - 1);//subtract 1
Total();
}
public void Total()//totals all textboxes except NRBCs
{
total = int.Parse(txtSegs.Text) + int.Parse(txtLymphs.Text) + int.Parse(txtMonos.Text) + int.Parse(txtBands.Text) + int.Parse(txtEos.Text) + int.Parse(txtBasos.Text) + int.Parse(txtMetas.Text)
+ int.Parse(txtMyelos.Text) + int.Parse(txtPros.Text) + int.Parse(txtBlasts.Text) + int.Parse(txtPlasmas.Text);
txtTotal.Text = Convert.ToString(total);
}