у меня 4 textboxes
:
- сумма к оплате
- денег (Подтвердите деньги клиента)
- изменить (если деньги больше суммы)
- и баланс (если деньги меньше суммы)
Последний textbox
предназначен для ввода (получает / вводит деньги клиента).
Я поместил свой код в обработчик TextChanged
textBoxInput (я думаю, что каждый раз, когда пользователь вводит что-то в это текстовое поле, оно будет автоматически обновляться):
private void textBoxInput_TextChanged(object sender, EventArgs e)
{
textBoxMoney.Text = textBoxInput.Text;
if (int.Parse(textBoxAmount.Text) > int.Parse(textBoxMoney.Text))
{
int balance = int.Parse(textBoxAmount.Text) - int.Parse(textBoxMoney.Text);
textBoxBalance.Text = balance.ToString();
}
if (int.Parse(textBoxMoney.Text) > int.Parse(textBoxAmount.Text))
{
int change = int.Parse(textBoxMoney.Text) - int.Parse(textBoxAmount.Text);
textBoxChange.Text = change.ToString();
}
}
Он работает правильно, однако всякий раз, когда я нажимаю клавишу Backspace (или очищаю данные) в textbox
, я получаю ошибку форматирования. Я также получаю сообщение об ошибке, когда помещаю в него письмо. Как я могу предотвратить появление такого сообщения, если пользователь вводит букву и когда данные очищаются? Кроме того, появляется другая ошибка, когда я задаю большее значение для ex.
Сумма к оплате = 600, я ввожу = 1000, текстовое поле баланса имеет = 550, текстовое поле изменения имеет = 330. Он вычисляется неправильно. Может ли кто-нибудь помочь мне с этим?