Вы помещаете код для проверки содержимого текстовых полей, а затем устанавливаете включенное состояние кнопки в обработчик нажатия кнопки.Это означает, что она будет срабатывать только при нажатии кнопки, и если она когда-либо будет отключена, ее нельзя будет вернуть обратно.
Если вы хотите динамически включать или отключать кнопку в зависимости от того,ни одно из текстовых полей не пустое, вы можете переместить код из вашего обработчика нажатия кнопки в его собственную подпрограмму, а затем вызвать событие «Изменено» в обоих ваших текстовых полях и событие загрузки вашей формы, вызвать эту подпрограмму:
Private Sub setButtonState()
If mortgageAmountTBX.Text.Equals("") Or interestRateTBX.Text.Equals("") Then
calculateBTN.Enabled = False
Else
calculateBTN.Enabled = True
End If
End Sub
Private Sub interestRateTBX_TextChanged(sender As Object, e As EventArgs) Handles interestRateTBX.TextChanged
setButtonState()
End Sub
Private Sub mortgageAmountTBX_TextChanged(sender As Object, e As EventArgs) Handles mortgageAmountTBX.TextChanged
setButtonState()
End Sub
Private Sub ModifiedLoanCalculatorFRM_Load(sender As Object, e As EventArgs) Handles MyBase.Load
setButtonState()
End Sub