ヘッダー

VB.NET2002対応 VB.NET2003対応 VB2005対応

 

Visual Basic 中学校 > VB.NET サンプル >

Ifを使用した条件判断

ここではIfを使用した条件判断のサンプルを紹介します。

Select Caseを使用した条件判断のサンプルはSelect Caseを使用した条件判断を参照してください。

Select Caseによる条件判断の説明は初級講座[改訂版]第12回 条件判断 Select Caseを参照してください。

 

1.単純な例

以下の例では変数Xの値が5のときだけメッセージを表示する。

VB.NET2002対応 VB.NET2003対応 VB2005対応

If X = 5 Then
   
MsgBox(
"Xは5です。")
End If

■リスト1

 

以下の例ではButton1.EnabledTrueのときだけメッセージを表示する。

VB.NET2002対応 VB.NET2003対応 VB2005対応

If Button1.Enabled Then
    MsgBox("Button1は使用可能です。")
End
If

■リスト2

メモ:この例ではButton1.Enabled自体がTrueまたはFalseを表しているのでIf Button1.Enabled = True Thenのように記述する必要はありません。このように記述しても同じように動作しますが冗長です。

 

2.「その他の場合」を表現する例 (Elseの用例)

以下の例では変数Xが5のときと、それ以外の場合とで別のメッセージを表示する。

VB.NET2002対応 VB.NET2003対応 VB2005対応

If X > 5 Then
   
MsgBox(
"Xは5より大きいです。")
Else
    MsgBox("Xは5以下です。")
End If

■リスト3

 

3.複数の条件を表現する例 (ElseIfの用例)

以下の例では変数Xが5の場合、そうではなくて変数Yが8である場合、それ以外の場合とで別々のメッセージを表示する。

VB.NET2002対応 VB.NET2003対応 VB2005対応

If X = 5 Then
   
MsgBox("Xは5です。")
ElseIf Y = 8
Then
   
MsgBox("Yは8です。")
Else
    MsgBox("Xは5ではないし、Yは8ではありません。")
End
If

■リスト4

 

4.「…ではない」を判断する例

以下の例では変数Xが5ではない場合にメッセージを表示する。

VB.NET2002対応 VB.NET2003対応 VB2005対応

If X <> 5 Then
   
MsgBox(
"Xは5で はありません。")
End If

■リスト5

以下の例も同様。

VB.NET2002対応 VB.NET2003対応 VB2005対応

If Not X = 5 Then
   
MsgBox(
"Xは5で はありません。")
End If

■リスト6

以下の例ではButton1.EnabledFalseの場合にメッセージを表示する。

VB.NET2002対応 VB.NET2003対応 VB2005対応

If Not Button1.Enabled Then
   
MsgBox("Button1は使用不可です。")
End
If

■リスト7

メモ:この例ではButton1.Enabled自体がTrueまたはFalseを表しているのでIf Not Button1.Enabled = True Thenのように記述する必要はありません。このように記述しても同じように動作しますが冗長です。なお、NotTrueFalseに、FalseTrueに反転させます。

 

5.「かつ」、「であると同時に」を判断する例 (AndAlsoの用例)

以下の例では変数Xが5であると同時に変数Yが8のときにメッセージを表示する。

VB.NET2002対応 VB.NET2003対応 VB2005対応

If X = 5 AndAlso Y = 8 Then
   
MsgBox(
"Xは5でYは8です。")
End If

■リスト8

メモ:この例ではAndAlsoの代わりにAndを使うこともできますが、特別な事情のない限り条件判断にはAndは使用しないようにして下さい。

 

6.「または」を判断する例 (OrElseの用例)

以下の例では変数Xが5であるか、または変数Yが8のときにメッセージを表示する。X=5であると同時にY=8である場合にもメッセージは表示される。

VB.NET2002対応 VB.NET2003対応 VB2005対応

If X = 5 OrElse Y = 8 Then
   
MsgBox(
"Xが5であるかYが8であるか、もしくはその両方です。")
End If

■リスト9

メモ:この例ではOrElseの代わりにOrを使うこともできますが、特別な事情のない限り条件判断にはOrを使用しないようにして下さい。

 

7.参考:いろいろな例

テキストボックスに何か入力されているか判断する例

VB.NET2002対応 VB.NET2003対応 VB2005対応

If Len(TextBox1.Text) = 0 Then
   
MsgBox(
"TextBox1には何も入力されていません。")
Else
   
MsgBox("TextBox1には「" & TextBox1.Text & "」と入力されています。")
End
If

■リスト10

 

文字列中に「 , 」(カンマ)が含まれているか判断する例

VB.NET2002対応 VB.NET2003対応 VB2005対応

Dim St As String

St = TextBox1.Text

If
St.Contains(",")
Then
   
MsgBox("カンマが含まれています。")
Else
   
MsgBox("カンマは含まれていません。")
End
If

■リスト11

 

変数Xの値を変数Yで割り切れるか判断する例

VB.NET2002対応 VB.NET2003対応 VB2005対応

Dim X As Integer = 221
Dim Y As Integer = 13

If
X Mod Y = 0
Then
    MsgBox(X & "は" & Y & "で割り切れます。")
Else
   
MsgBox(X & "を" & Y & "で割ると、余りは" & X Mod Y & "です。")
End If

■リスト12

 

Object型の変数senderButton1であるかどうか判断する例

VB.NET2002対応 VB.NET2003対応 VB2005対応

Private Sub Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click, Button2.Click

    If
sender Is Button1
Then
       
MsgBox("Button1です。")
   
Else
       
MsgBox("Button1ではないです。")
    End
If

End Sub

■リスト13

 

Object型の変数senderButton型であるかどうか判断する例

VB.NET2002対応 VB.NET2003対応 VB2005対応

Private Sub AnyControl_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Enter, Button2.Enter, TextBox1.Enter

    If
TypeOf sender Is Button
Then
       
MsgBox("senderはButtonです。")
   
Else
   
    MsgBox("senderはButtonではありません。")
    End
If

End Sub

■リスト14