Como: executar instruções dependendo de uma ou mais condições (Visual Basic)
You can use an Declaração If...Then... (Visual Basic) to run a specific statement or block of statements depending on the Tipo de dados booleanos (Visual Basic) value of a condition. The condition usually results from a comparison of two values, but it can be any expression that evaluates to a Boolean value (True or False). This includes values of other data types, such as numeric types, that have been converted to Boolean.
To run one or more statements if a condition is True
If you have only one statement to run, use the single-line syntax of the If...Then...Else construction. You do not need the Else or End If statements. The following example illustrates this.
Sub fixDate() Dim myDate As Date = #2/13/1973# If myDate < Now Then myDate = Now End Sub
- ou -
To execute more than one line of code when the condition is True, use the multiple-line syntax, which includes the End If statement. If you have no code to run when the condition is False, you omit the Else statement. The following example illustrates this.
Dim alertLabel As New System.Windows.Forms.Label Sub alertUser(ByVal value As Long) If value = 0 Then alertLabel.ForeColor = System.Drawing.Color.Red alertLabel.Font = New Font(alertLabel.Font, FontStyle.Bold Or FontStyle.Italic) End If End Sub
To run some statements if a condition is True and others if it is False
Use an If...Then...Else a construção com o Instrução Else (Visual Basic)dedemonstrativo para definir os dois blocos de instruções. Visual Basicexecuta um bloco se a condição for True e o outro se for False. The following example illustrates this.
Dim alertLabel As New System.Windows.Forms.Label Sub alertUser(ByVal value As Long) If value = 0 Then alertLabel.ForeColor = System.Drawing.Color.Red alertLabel.Font = New Font(alertLabel.Font, FontStyle.Bold Or FontStyle.Italic) Else alertLabel.Forecolor = System.Drawing.Color.Black alertLabel.Font = New Font(alertLabel.Font, FontStyle.Regular) End If End Sub
To test additional conditions if the first condition is False
Use an If...Then...Else construction with one or more ElseIf statements to test additional conditions if the first condition is False. In the following example, the Function procedure computes a payroll bonus based on performance rating. The statement block following the Else statement runs only if the conditions in the If and ElseIf statements are all False.
Function bonus(ByVal performance As Integer, ByVal salary As Decimal) As Decimal If performance = 1 Then Return salary * 0.1 ElseIf performance = 2 Then Return salary * 0.09 ElseIf performance = 3 Then Return salary * 0.07 Else Return 0 End If End Function
Visual Basic tests the conditions in the order they appear in the If...Then...Else statements. When it encounters a True condition or an Else statement, it runs the corresponding statement block. Control then passes to the statement following the End If statement.
You can have any number of ElseIf statements, or none at all. You can include or omit one Else statement regardless of whether you have any ElseIf statements.
Consulte também
Tarefas
Como: Transferir controle para fora de uma estrutura de controle (Visual Basic)
Como: Testar vários valores de uma expressão (Visual Basic)
Como: Manter controle quando ocorre um erro (Visual Basic)
Conceitos
Estruturas de decisão (Visual Basic)
Estruturas de loop (Visual Basic)
Outras estruturas de controle (Visual Basic)
Estruturas de controle aninhado (Visual Basic)