Мне нужно немного исправить VB.net Code Framework 2.0, делая систему регистрации

В моей программе я хочу проверить, зарегистрировано ли мое приложение, когда мой индикатор выполнения закончен. Если он зарегистрирован (проверяется по тексту метки в форме 1), должно появиться второе текстовое поле, а если не зарегистрировано, то должно появиться первое текстовое поле

Проблема в том, что я должен добавить конец if когда я не хочу, потому что это будет постоянно всплывать текстовое поле.

Это мой код:

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
    ProgressBar1.Value += 1
    If ProgressBar1.Value =
    ProgressBar1.Maximum Then
        Timer1.Stop()
        ProgressBar1.Value = ProgressBar1.Minimum
        If Form1.Label4.Text = "Unregistered" Then
        MsgBox("Exampletext", MsgBoxStyle.Information)
        Me.Hide()
    Else
        MsgBox("Exampletext1", MsgBoxStyle.Information)
        Hide()
    End If
End Sub 
End Class

Кстати, я не хотел делать это в framework 2.0 но я сделал это, чтобы сделать его более совместимым со старыми Windows.

1 ответ

Решение

Вот почему правильный отступ важен...

Компилятор считает, что Else связано с первым If,

И на самом деле, ничего не случится, когда ваш второй If правильно, потому что нет End If, Поэтому предполагается, что инструкция находится на одной строке.

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
ProgressBar1.Value += 1
    If ProgressBar1.Value = ProgressBar1.Maximum Then
        Timer1.Stop()
        ProgressBar1.Value = ProgressBar1.Minimum
        If Form1.Label4.Text = "Unregistered" Then
            MsgBox("Exampletext", MsgBoxStyle.Information)
            Me.Hide()
        Else
            MsgBox("Exampletext1", MsgBoxStyle.Information)
            Hide()
        End If
    End If 'You need to add the End If here
End Sub

Однако я голосую, чтобы закрыть этот вопрос, так как это опечатка...

Другие вопросы по тегам