金曜日, 11月 17, 2023

Visual Studio Basic_33 
ComboBoxに連動させるPictureBox

ComboBoxに連動させるPictureBoxというコトで、ComboBoxで選択した項目に連動したPictureを表示刺せるプログラムを整理してみました。

今回用意したイラストは全て背景を透明としたPNGファイル。
PB=PictureBox

レイアウトは上の様にしました。
L=Label
CB=ComboBox
B=Button
PB=PictureBox

ComboBoxを右クリックして表示されるメニューの[項目の編集]をクリックし・・・

項目を追加します。ここでは10枚のイラストの最後に[Clear]を作ってみました。

PictureBox1〜11は上の左の設定。
SizeMode: StrretchImage(画像の伸張設定)
Visible: False(非表示設定)

PictureBox12のみ上の右の設定。
SizeMode: StrretchImage(画像の伸張設定)
Visible: True(表示設定)

画像の伸張設定とは、PictureBoxの枠のサイズに読み込み画像を合わせる設定
画像の読み込みはImageを選択し右端のマークをクリックし・・・
[ローカルリソース]からインポートします。

ソースの「-----------------」は区切り線なので記述の必要はありません。

青字は自動入力部分で修正の必要はありません。 黒字が入力部分です。 赤字はコメント文なので記述の必要はありません。
------------------
Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Select Case Me.ComboBox1.Text
            Case "Apple"
                Me.PictureBox12.Image = PictureBox1.Image
                Me.BackColor = Color.LightSeaGreen
                Button1.BackColor = Color.LightSeaGreen
                Button1.ForeColor = Color.White
                Button2.BackColor = Color.LightSeaGreen
                Button2.ForeColor = Color.White
                Button3.BackColor = Color.LightSeaGreen
                Button3.ForeColor = Color.White
        'ComboBox1でAppleを選択したら
        'PictureBox12のイメージをPictureBox1に差し替え
        '背景と3つのボタンの色をLightSeaGreenに変更
        '背景と3つのボタンの文字色をWhiteに変更
            Case "Carrot"
                Me.PictureBox12.Image = PictureBox2.Image
                Me.BackColor = Color.HotPink
                Button1.BackColor = Color.HotPink
                Button1.ForeColor = Color.White
                Button2.BackColor = Color.HotPink
                Button2.ForeColor = Color.White
                Button3.BackColor = Color.HotPink
                Button3.ForeColor = Color.White
        'ComboBox1でAppleを選択したら
        'PictureBox12のイメージをPictureBox2に差し替え
        '背景と3つのボタンの色をHotPinkに変更
        '背景と3つのボタンの文字色をWhiteに変更
            Case "Cucumber"
                Me.PictureBox12.Image = PictureBox3.Image
                Me.BackColor = Color.DodgerBlue
                Button1.BackColor = Color.DodgerBlue
                Button1.ForeColor = Color.White
                Button2.BackColor = Color.DodgerBlue
                Button2.ForeColor = Color.White
                Button3.BackColor = Color.DodgerBlue
                Button3.ForeColor = Color.White
        'ComboBox1でAppleを選択したら
        'PictureBox12のイメージをPictureBox3に差し替え
        '背景と3つのボタンの色をDodgerBlueに変更
        '背景と3つのボタンの文字色をWhiteに変更
            Case "Eggplant"
                Me.PictureBox12.Image = PictureBox4.Image
                Me.BackColor = Color.CornflowerBlue
                Button1.BackColor = Color.CornflowerBlue
                Button1.ForeColor = Color.White
                Button2.BackColor = Color.CornflowerBlue
                Button2.ForeColor = Color.White
                Button3.BackColor = Color.CornflowerBlue
                Button3.ForeColor = Color.White
        'ComboBox1でAppleを選択したら
        'PictureBox12のイメージをPictureBox4に差し替え
        '背景と3つのボタンの色をCornflowerBlueに変更
        '背景と3つのボタンの文字色をWhiteに変更
            Case "Grapes"
                Me.PictureBox12.Image = PictureBox5.Image
                Me.BackColor = Color.DodgerBlue
                Button1.BackColor = Color.DodgerBlue
                Button1.ForeColor = Color.White
                Button2.BackColor = Color.DodgerBlue
                Button2.ForeColor = Color.White
                Button3.BackColor = Color.DodgerBlue
                Button3.ForeColor = Color.White
        'ComboBox1でAppleを選択したら
        'PictureBox12のイメージをPictureBox5に差し替え
        '背景と3つのボタンの色をDodgerBlueに変更
        '背景と3つのボタンの文字色をWhiteに変更
            Case "Pepper"
                Me.PictureBox12.Image = PictureBox6.Image
                Me.BackColor = Color.SlateBlue
                Button1.BackColor = Color.SlateBlue
                Button1.ForeColor = Color.White
                Button2.BackColor = Color.SlateBlue
                Button2.ForeColor = Color.White
                Button3.BackColor = Color.SlateBlue
                Button3.ForeColor = Color.White
        'ComboBox1でAppleを選択したら
        'PictureBox12のイメージをPictureBox6に差し替え
        '背景と3つのボタンの色をSlateBlueに変更
        '背景と3つのボタンの文字色をWhiteに変更
            Case "Pineapple"
                Me.PictureBox12.Image = PictureBox7.Image
                Me.BackColor = Color.MediumPurple
                Button1.BackColor = Color.MediumPurple
                Button1.ForeColor = Color.White
                Button2.BackColor = Color.MediumPurple
                Button2.ForeColor = Color.White
                Button3.BackColor = Color.MediumPurple
                Button3.ForeColor = Color.White
        'ComboBox1でAppleを選択したら
        'PictureBox12のイメージをPictureBox7に差し替え
        '背景と3つのボタンの色をMediumPurpleに変更
        '背景と3つのボタンの文字色をWhiteに変更
            Case "Pumpkin"
                Me.PictureBox12.Image = PictureBox8.Image
                Me.BackColor = Color.PaleVioletRed
                Button1.BackColor = Color.PaleVioletRed
                Button1.ForeColor = Color.White
                Button2.BackColor = Color.PaleVioletRed
                Button2.ForeColor = Color.White
                Button3.BackColor = Color.PaleVioletRed
                Button3.ForeColor = Color.White
        'ComboBox1でAppleを選択したら
        'PictureBox12のイメージをPictureBox8に差し替え
        '背景と3つのボタンの色をPaleVioletRedに変更
        '背景と3つのボタンの文字色をWhiteに変更
            Case "Strawberry"
                Me.PictureBox12.Image = PictureBox9.Image
                Me.BackColor = Color.MediumSeaGreen
                Button1.BackColor = Color.MediumSeaGreen
                Button1.ForeColor = Color.White
                Button2.BackColor = Color.MediumSeaGreen
                Button2.ForeColor = Color.White
                Button3.BackColor = Color.MediumSeaGreen
                Button3.ForeColor = Color.White
        'ComboBox1でAppleを選択したら
        'PictureBox12のイメージをPictureBox9に差し替え
        '背景と3つのボタンの色をMediumSeaGreenに変更
        '背景と3つのボタンの文字色をWhiteに変更
            Case "Watermelon"
                Me.PictureBox12.Image = PictureBox10.Image
                Me.BackColor = Color.CadetBlue
                Button1.BackColor = Color.CadetBlue
                Button1.ForeColor = Color.White
                Button2.BackColor = Color.CadetBlue
                Button2.ForeColor = Color.White
                Button3.BackColor = Color.CadetBlue
                Button3.ForeColor = Color.White
        'ComboBox1でAppleを選択したら
        'PictureBox12のイメージをPictureBox10に差し替え
        '背景と3つのボタンの色をCadetBlueに変更
        '背景と3つのボタンの文字色をWhiteに変更
            Case "Clear"
                Me.PictureBox12.Image = PictureBox11.Image
                Me.BackColor = Color.Empty
                Button1.BackColor = Color.Gainsboro
                Button1.ForeColor = Color.Black
                Button2.BackColor = Color.Gainsboro
                Button2.ForeColor = Color.Black
                Button3.BackColor = Color.Gainsboro
                Button3.ForeColor = Color.Black
        'ComboBox1でAppleを選択したら
        'PictureBox12のイメージをPictureBox11に差し替え
        '背景と3つのボタンの色をLightGainsboroに変更
        '背景と3つのボタンの文字色をBlackに変更
            Case Else
                Me.PictureBox12.Image = PictureBox11.Image
                Me.BackColor = Color.Empty
                Button1.BackColor = Color.Gainsboro
                Button1.ForeColor = Color.Black
                Button2.BackColor = Color.Gainsboro
                Button2.ForeColor = Color.Black
                Button3.BackColor = Color.Gainsboro
                Button3.ForeColor = Color.Black
        'ComboBox1でAppleを選択したら
        'PictureBox12のイメージをPictureBox11に差し替え
        '背景と3つのボタンの色をGainsboroに変更
        '背景と3つのボタンの文字色をBlackに変更
        End Select
    End Sub
------------------
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        Me.PictureBox12.Image = PictureBox11.Image
        Me.BackColor = Color.Empty
        Button1.BackColor = Color.Gainsboro
        Button1.ForeColor = Color.Black
        Button2.BackColor = Color.Gainsboro
        Button2.ForeColor = Color.Black
        Button3.BackColor = Color.Gainsboro
        Button3.ForeColor = Color.Black
        ' Label1、PictureBox1〜12をリセット
        'ComboBox1でAppleを選択したら
        'PictureBox12のイメージをPictureBox1に差し替え
        '背景と3つのボタンの色をGainsboroに変更
        '背景と3つのボタンの文字色をBlackに変更
    End Sub
------------------
    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
        End
        ' プログラム終了
    End Sub
End Class
------------------

色指定の色名はWebカラーと同様の色名が利用出来ます。
以下は処理結果です。

諸般の事情でVisdual Studio 2019のBasicで作成しています。