【发布时间】:2015-07-07 06:05:14
【问题描述】:
我的计算器有一个大问题。
我有一个动态刷新文本框,所以在textbox_change上,它会自动点击回车按钮。
Private Sub textBox_TextChanged(sender As Object, e As TextChangedEventArgs) Handles textBox.TextChanged
If IsNumeric(textBox.Text) = False Then
button.IsEnabled = False
Else
button.IsEnabled = True
End If
button_Click(sender, e)
End Sub
因此,由于我的按钮会在发送整数以外的任何其他击键时中断,每次当用户发送退格键或在文本框中没有其他字符时删除时,程序都会崩溃。
我的按钮代码会在除整数以外的任何内容以及button_click textbox.clear() 和当文本框中没有整数时发送的击键(退格、删除)上崩溃,因为我认为它检测到删除击键作为其他字符串和不是 UInt64。
If IsNumeric(textBox.Text) Then
b = CDbl(textBox.Text)
Else
Await Me.ShowMessageAsync("Error", "Please input a number.", MessageDialogStyle.Affirmative)
End If
Dim Input As ULong
Input = Convert.ToUInt64(textBox.Text)
textBox12.Text = (FormatNumber(Input))
Dim m As Decimal
Dim t As Decimal
Dim add As Integer
If b > 100000000 Then
t = 0.06
ElseIf b > 25000000 Then
t = 0.05
ElseIf b > 10000000 Then
t = 0.04
ElseIf b > 5000000 Then
t = 0.03
ElseIf b > 1000000 Then
t = 0.018
ElseIf b > 100000 Then
t = 0.008
End If
m = b - (b * t)
add = b - m
textBox1.Text = add
textBox2.Text = Int(m)
那么我该如何预防呢?现在,如果不非常谨慎,就无法清除任何文本。它将崩溃并在 mscorlib.dll 中发生类型为“System.FormatException”的未处理异常。 当 textbox.text 中没有字符时,我可以停止删除和退格吗?我该怎么做?请帮忙!
【问题讨论】:
标签: wpf vb.net visual-studio crash keystroke