Прежде всего, добавьте это в начало вашего кода:
Option Strict On
Option Explicit On
Тогда вы увидите кучу ошибок. Это хорошая вещь. В настоящее время вы не управляете типами переменных, и в какой-то момент это может стать проблемой, будь то из-за того, что вы не научились ими управлять или просто из-за этого происходит сбой программы.
Textbox1.Text
- это строковый тип. Вы хотите рассчитать числа. У вас наверняка возникнет проблема в какой-то момент.
Поскольку вы, вероятно, хотите использовать целые числа, вот способ, которым вы можете защитить этот фрагмент кода:
Dim num1, num2 As Integer
'If one of the textboxes contains something else than a number, your program won't crash. It returns 'True' when it's able to parse the String into an Integer and 'False' if it can't.
If Integer.TryParse(Number1TextBox.Text, num1) AndAlso Integer.TryParse(Number1TextBox.Text, num2) Then
Number1TextBox.Text = (num1 - num2).ToString
Else
MessageBox.Show("Use only integer numbers!")
End If
Это не мешает вашему коду от выполнения операции более одного раза, но результат должен быть одинаковым, чтобы на экране не было видимых изменений.
Существует несколько способов предотвратить повторение одной и той же операции вашим пользователем несколько раз, хотя я сомневаюсь, что это сильно изменится, так как результат не изменится. Дайте мне знать, если я чего-то не получу.