月曜日, 8月 31, 2020

Visual Studio Basic_13 
複数判断材料による分岐処理と色替え

今回は入社試験の判定というちょっと洒落にならない?想定で、筆記試験と面接の点で合否を判断するプログラムです。

VS Basicを起動したら[新しいプロジェクトの作成]にて新規プログラム作成モードに入ります。最初にTextBox2つ、Button2つ、Label4つを配置します。配置が完了したらプロパティーにて文字やパーツのサイズを調整して上の様なレイアウトとしました。次にソースです。TextBox1と2、Label3の文字サイズは12ポイントとしています。

で、実際のソースは・・・

「-----------------」は区切り線なので記述の必要はありません。
青字は自動入力部分で修正の必要はありません。
黒字が入力部分です。
赤字はコメント文なので記述の必要はありません。

-----------------
Public Class Form1
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        ' TestResultをInteger変数宣言
        Dim TestResult As Integer
        ' TestResultに数値変換したTextBox1の値を入れる
        TestResult = Val(TextBox1.Text)
        ' もしTestResultの値が80以上で、TextBox2がAであれば
        ' 「合格で」を表示
        If TestResult >= 80 And TextBox2.Text = "A" Then
            Label3.Text = "合格です"
        Else
        ' そうでなければ「不合格で」を表示
            Label3.Text = "不合格です"
        End If
    End Sub
-----------------
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        ' プログラム終了
        End
    End Sub
End Class
-----------------

ここで、折角なので合否により表示の色を変更してみました。色の変更は以下の様な設定で行います。

ラベル3の文字の色を黒に変更
Label3.ForeColor = Color.Black
または
Label3.ForeColor = Color.FromArgb(&H00,&H00,&H00)

ラベル3の背景色を黒に変更
Label3.BackColor = Color.White
または
Label3.BackColor = Color.FromArgb(&HFF,&HFF,&HFF)

カラー変更を設定した最終ソースは以下の通りです。
-----------------
Public Class Form1
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        ' TestResultをInteger変数宣言
        Dim TestResult As Integer
        ' TestResultに数値変換したTextBox1の値を入れる
        TestResult = Val(TextBox1.Text)
        ' 背景色は白、文字色は黒にリセット
        Label3.ForeColor = Color.Black
        Label3.BackColor = Color.White
        ' もしTestResultの値が80以上で、TextBox2がAであれば
        ' 背景色を赤、文字を白に変更して「合格で」を表示
        If TestResult >= 80 And TextBox2.Text = "A" Then
            Label3.BackColor = Color.Red
            Label3.ForeColor = Color.White
            Label3.Text = "合格です"
        Else
        ' そうでなければ
        ' 背景色を青、文字を白に変更して「不合格で」を表示
            Label3.BackColor = Color.Blue
            Label3.ForeColor = Color.White
            Label3.Text = "不合格です"
        End If
    End Sub
-----------------
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        ' プログラム終了
        End
    End Sub
End Class
-----------------

ソース記述中にエラーがなければデバッグです。
プログラムは
私見が80点以上かつ面接がAの場合のみ合格となります。

筆記試験が100点でも面接がAでなければ不合格

筆記試験が80点でも面接がA出あれば合格

Visual Studio Basic 2019