Vb.net 将一个子例程的变量访问到另一个子例程-VB
我有两个问题Vb.net 将一个子例程的变量访问到另一个子例程-VB,vb.net,Vb.net,我有两个问题 我想在我的按钮15中使用结果,单击子按钮 当我在op=sender.Text行中键入时,我看到了intellisense中sender对象的Text方法 这是我的密码 Public Sub Button10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button10.Click, Button11.Click, Button12.Click, Button13.Click, B
按钮15中使用结果
,单击子按钮
op=sender.Text
行中键入时,我看到了intellisense中sender对象的Text
方法Public Sub Button10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button10.Click, Button11.Click, Button12.Click, Button13.Click, Button14.Click, Button14.Click, Button16.Click
Dim op As Char
op = sender.Text
result = Convert.ToInt32(TextBox1.Text)
End Sub
Public Sub Button15_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button15.Click
Select Case op
Case "+"
result += Convert.ToInt32(TextBox1.Text)
TextBox1.Text = result
Case "-"
result -= Convert.ToInt32(TextBox1.Text)
TextBox1.Text = result
Case "*"
result *= Convert.ToInt32(TextBox1.Text)
TextBox1.Text = result
Case "\"
result \= Convert.ToInt32(TextBox1.Text)
TextBox1.Text = result
End Select
End Sub
将
op
声明为类级别:
Dim op As Char
Public Sub Button10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button10.Click, Button11.Click, Button12.Click, Button13.Click, Button14.Click, Button14.Click, Button16.Click
op = sender.Text
result = Convert.ToInt32(TextBox1.Text)
End Sub
Public Sub Button15_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button15.Click
Select Case op
Case "+"
result += Convert.ToInt32(TextBox1.Text)
TextBox1.Text = result
Case "-"
result -= Convert.ToInt32(TextBox1.Text)
TextBox1.Text = result
Case "*"
result *= Convert.ToInt32(TextBox1.Text)
TextBox1.Text = result
Case "\"
result \= Convert.ToInt32(TextBox1.Text)
TextBox1.Text = result
End Select
End Sub
在IntelliSense中看不到文本
的原因是发送方
是对象
,而不是文本框
,并且没有文本
属性。我建议您启用选项Strict
,因为它将显示几个潜在的代码错误。若要获取它,请强制转换发送者:
op = DirectCast(sender, Button).Text(0)
按钮15\u单击
中也有许多常见的逻辑。我将其改写为:
Dim rightOperand As Integer = Integer.Parse(TextBox1.Text)
Select Case op
Case "+"c
result += rightOperand
Case "-"c
result -= rightOperand
Case "*"c
result *= rightOperand
Case "\"c
result \= rightOperand
End Select
TextBox1.Text = result.ToString()
op
需要在类级别声明,以便在多个函数中使用。
Private op as Char
Public Sub Button10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button10.Click, Button11.Click, Button12.Click, Button13.Click, Button14.Click, Button14.Click, Button16.Click
op = DirectCast(sender, button).Text
result = Convert.ToInt32(TextBox1.Text)
End Sub