vb.net中的if else问题

我用的是VB.NET2005速成版。编译时有一个命令是if....then......else......end sub调试时总是提示else前面缺少匹配 的if或elseif。请问该怎么改 啊Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click If TextBox1.Focus Then TextBox1.Text = Val(TextBox1.Text) * 10 + 1 Else TextBox3.Text = Val(TextBox3.Text) * 10 + 1 End Sub提示else前面必须是匹配的if或者elseif 按众位提示的在end sub之前加上end if之后,又提示end if前面必须是匹配的if。还是不对啊。
2026年09月21日 22:02
有5个网友回答
网友(1):

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If TextBox1.Focus Then : TextBox1.Text = Val(TextBox1.Text) * 10 + 1 : Else : TextBox3.Text = Val(TextBox3.Text) * 10 + 1 : End If
End Sub



Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If TextBox1.Focus Then
TextBox1.Text = Val(TextBox1.Text) * 10 + 1
Else
TextBox3.Text = Val(TextBox3.Text) * 10 + 1
End If
End Sub

楼主只是单纯的格式错误而已。
If...Then... 是可以
If...Then...Else 是不存在的
需要一行内用到的话,必须还要跟个End If,也就是
If...Then...Else...End If

当然最好还是分行写,自己以后修改也容易看
If 条件1 Then
' 代码
ElseIf 条件2 Then
' 代码
ElseIf 条件2 Then
' 代码
Else
' 代码
End If
其中ElseIf行与Else行,在不需要时都可以不写。

网友(2):

if....then......
else......
end sub

=============

其实就是你搞错了啦,是end if,而不是end sub

==============

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If TextBox1.Focus Then TextBox1.Text = Val(TextBox1.Text) * 10 + 1
Else TextBox3.Text = Val(TextBox3.Text) * 10 + 1
end if '这里少了一个end if
End Sub

网友(3):

if...then
...
else
...
end if

例子:
If (天要下雨) Then
出门带伞
Else
出门不必带伞
End If

网友(4):

if....then......
else......

end if

end sub
不知道你的具体循环条件,不过你少了个end if

网友(5):

不管是什么版,你都可以将ELSE改成IF..THEN...ELSEIF ...THEN...END IF.重点要注意嵌套关系千万别搞错.