我正在vb.net中制作一个简单的计算器。用户可以使用按钮在文本框中输入内容,而equals按钮可将字符串转换为方程式。它的工作原理非常完美,除了用户可以输入所需数量的运算符外,例如,他们可以添加7 ************* 3。这样会产生语法错误,但会显示在外部窗口中,我希望它在文本框中而不是在其他窗口中显示“语法错误”。
Private Sub ButtonClickMethod(sender As Object, e As EventArgs) Handles equalsBtn.Click 'and other buttons, but I left them out
Dim button As Button = CType(sender, Button)
If button.Name = "equalsBtn" Then
Dim equation As String = TextBox1.Text
Dim result = New DataTable().Compute(equation, Nothing)
TextBox1.Text = result
End If
'other buttons
End Sub
希望它在文本框中显示“语法错误”,而不是像现在一样在其他窗口中显示。
答案 0 :(得分:0)
在用于运算符的按钮中使用布尔值。单击operatorInAction之类的东西,将其设置为true。使按钮什么也不打印,或者在operatorInAction为true时使其不可单击。添加数字时,将operatorInAction设置回false。您还可以将此功能扩展到=按钮,这样您就不会获得类似以下功能:2 * =
答案 1 :(得分:0)
Try
Dim result = New DataTable().Compute(equation, Nothing)
TextBox1.Text = result
Catch ex as Exception
'TextBox1.Text = ex.Message
TextBox1.Text = "Syntax Error"
End Try