現在、2つのテキストボックスからデータを受け取り、その上で操作を実行する電卓をC#で作成しようとしています。私は負の値を扱う際に特に問題となるのは、最初にテキストボックスにハイフンが1つしかないことを制限しています。これは私が試したコードですが、バックスペースを使ってハイフンを削除しても、それを元に戻すことはできません。入力を制限して、Cのテキストボックスにハイフン( - )を付ける#
bool neg = false;
private void val2_KeyPress(object sender, KeyPressEventArgs e)
{
char ch = e.KeyChar;
if (!Char.IsDigit(ch) && ch != 8 && ch != 127 && ch != 46 && ch != 45)
{
e.Handled = true;
}
else if (ch == 46)
{
if (pnt2 == true)
{
e.Handled = true;
}
pnt2 = true;
}
else if (ch == 45)
{
if (neg == true)
{
e.Handled = true;
}
neg = true;
}
}
ありがとうございます。
は、WindowsフォームやWebフォームを使用していますか? – Valkyrie
私はWindowsフォームを使用しています。 –
pnt2とnegの目的は何ですか? –