忍者ブログ

VB.NET-TIPS などプログラミングについて

VB.NETのTIPS(小技集)を中心に、Javascript、PHP その他のプログラミングについて少し役に立つ情報を発信します。いわゆる個人的な忘備録ですが、みなさんのお役に立てれば幸いです。

[PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

標準コントロールのパネルの使い方について2(複数Panelの表示切替)

フォーム上に複数のパネルを配置して、ある条件のもとで各パネルを表示することで異なる処理が行えます。
今回は2個のパネルをフォーム上に貼り、それぞれのパネルは異なるコントロールを配置します。
1個目はテキストボックスを5個配置し、2個目のパネルはチェックボックスを5個配置します。
更に、パネルの切り替え用にラジオボタンを2個設置します。 デザイン画面では以下の様になります。


尚、ソースは以下の様になります。
フォームロード時にフォームの幅を1個のパネルのみを表示する幅に設定し、パネル2の座標位置をパネル1と同じにします。 また、初期のパネル切替を行う為にパネル1の状態を「ON」にします。

パネルそれぞれに対応するラジオボタンのクリック時に、対応するパネル切替を行う様にしています。

2個のパネルの表示切替

Public Class frmPanelM1

    ' フォームロード時処理
    Private Sub frmPanelM1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        'ウインドウの横幅を1個のパネルのみ表示する「300」にする
        Me.Width = 300
        'パネル2の横位置をパネル1と同位置にする
        Me.Panel2.Left = Me.Panel1.Left
        '最初のパネル1に設定
        Me.RadioButton1.Checked = True
    End Sub

    ' ラジオボタン1変化時処理
    Private Sub RadioButton1_CheckedChanged(sender As Object, e As EventArgs) Handles RadioButton1.CheckedChanged
        If DirectCast(sender, RadioButton).Checked = True Then
            ' ラジオボタン1がONの場合、パネル1表示
            Call Me.DisplayPanel(1)
        End If
    End Sub

    ' ラジオボタン2変化時処理
    Private Sub RadioButton2_CheckedChanged(sender As Object, e As EventArgs) Handles RadioButton2.CheckedChanged
        If DirectCast(sender, RadioButton).Checked = True Then
            ' ラジオボタン2がONの場合、パネル2表示
            Call Me.DisplayPanel(2)
        End If
    End Sub

    ' パネル表示切替処理
    Private Sub DisplayPanel(ByVal intPanelNo As Integer)
        Select Case intPanelNo
            Case 1
                Me.Panel1.Visible = True
                Me.Panel2.Visible = False
            Case 2
                Me.Panel1.Visible = False
                Me.Panel2.Visible = True
        End Select
    End Sub

End Class

これを実行すると以下の様な表示になります。右側はラジオボタン2をクリックしてパネル2を表示した状態です。
(ラジオボタンを交互にチェックすれば、パネル1⇔パネル2が交互に表示されます)

関連する記事

標準コントロールのパネルの使い方について(Panel)
パネル上にピクチャボックスを貼付て画像スクロールさせる方法ついて(Panel、PictureBox)











PR

コメント

コメントを書く