【】Top

【】VB.NET
【】VB6.0

【】メールマガジンの購読
【】メールマガジンの解除






【】会社概要

【】お問い合わせ


姉妹サイト「バーチャルコネクション!」はこちらです。

姉妹サイト「七福神のメールでビンゴ!」はこちらです。

アイネットマコト

●24時間365日の安心をあなたにAT-LINK専用サーバ・サービスお勧めのサーバです。






実行時にコントロールを追加する


【 実行時にコントロールを追加する         】

【注意書き】
●VB.NET を使っているものとします。
●動作環境は、Windows XX を使用しているとします。

.NET でも、実行時にコントロールを追加することが可能です。

この機能を使えば、簡単に、
アプリケーションユーザー側に
画面の入力項目のデザインや、項目の数などを自由に設定できる
機能を持たせたアプリケーションに組み入れることが可能です。


フォームに次の様なコードを記述します


-----------VB.NETコーディングここから-------------------


1.何もデザインしていない、初期のデフォルトフォーム
    を準備します。



2.フォームをダブルクリックして、
    フォームロードイベントのコード編集を開始して、
    次のコードを記述します。


    'コントロールの宣言
    Dim objTxtBox As TextBox
    Dim objBtn As Button
    Dim objLstBox As ListBox
    Dim objChkBox As CheckBox
    Dim objRadioBtn(1) As RadioButton
    Dim objLabel As Label

    Private Sub Form1_Load(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles MyBase.Load

        objTxtBox = New TextBox
        objBtn = New Button
        objLstBox = New ListBox
        objChkBox = New CheckBox
        objRadioBtn(0) = New RadioButton
        objRadioBtn(1) = New RadioButton
        objLabel = New Label

        'コントロールの追加
        With Me.Controls
            .Add(objBtn)
            .Add(objTxtBox)
            .Add(objLstBox)
            .Add(objChkBox)
            .Add(objRadioBtn(0))
            .Add(objRadioBtn(1))
            .Add(objLabel)
        End With

        objLabel.Top = 0
        objLabel.Left = 50
        objLabel.Text = "文字列を入力してボタンを押してください"

        objTxtBox.Top = objLabel.Top + objLabel.Height + 2
        objTxtBox.Left = 50
        objTxtBox.Text = ""

        objLstBox.Top = objTxtBox.Top + objTxtBox.Height + 2
        objLstBox.Left = 50
        objLstBox.Items.Clear()

        objChkBox.Top = objLstBox.Top + objLstBox.Height + 2
        objChkBox.Left = 50
        objChkBox.Text = "確認メッセージを表示する"
        objChkBox.Checked = True

        objRadioBtn(0).Top = objChkBox.Top + objChkBox.Height + 2
        objRadioBtn(0).Left = 50
        objRadioBtn(0).Text = "リスト追加"
        objRadioBtn(0).Checked = True

        objRadioBtn(1).Top = objRadioBtn(0).Top _
         + objRadioBtn(0).Height + 2
        objRadioBtn(1).Left = 50
        objRadioBtn(1).Text = "リスト削除"

        objBtn.Top = objRadioBtn(1).Top + objRadioBtn(1).Height + 2
        objBtn.Left = 50
        objBtn.Text = "ボタン"


        AddHandler objBtn.Click, AddressOf objBtn_Name_Click

    End Sub

    Private Sub objBtn_Name_Click(ByVal sender As Object, _
    ByVal e As EventArgs)
        If objTxtBox.Text = "" Then
            MsgBox("文字列を入力して下さい")
            Exit Sub
        End If
        If objRadioBtn(0).Checked Then
            objLstBox.Items.Add(objTxtBox.Text)
            If objChkBox.Checked Then
                MsgBox("リストへ追加しました")
            End If

        Else
            objLstBox.Items.Remove(objTxtBox.Text)
            If objChkBox.Checked Then
                MsgBox("リストから削除しました")
            End If
        End If
    End Sub

3.ビルドして実行します。

4.フォームに表示された
    テキストボックスに「みかん」と入力します。

5.フォームに表示された
    ボタン「ボタン」を押します。

6.リストボックスに、「みかん」が追加されます。


7.フォームに表示された
    テキストボックスに「りんご」と入力します。

8.フォームに表示された
    ボタン「ボタン」を押します。

9.リストボックスに、「りんご」が追加されます。

10.フォームに表示された
    ラジオボタンのチェックを「リスト削除」の
     ○をクリックして◎に切り替えます。

11.フォームに表示された
    ボタン「ボタン」を押します。

12.リストボックスに、追加した「りんご」が削除されます。



-----------VB.NETコーディングここまで-------------------

本サンプルでは、
フォームへのデザインを実行レベルで行い、
実行レベルでイベントのハンドリングが行えた事を確認できます。
フォームロード時に
コントロールの配置とイベントの関連付けを行っています。

ラジオボタンは、コントロール配列として使用しています。

ボタンのクリックイベントにハンドリングしている
サブルーチンは、objBtn_Name_Click としています。


本サンプルでは、
テキストボックスに入力した値をベースに、
ラジオボタンの選択状態に従って、
リストボックスへ追加したり、削除したりを行うものです。




 

http://anetm.com/dev/d.cgi?SC=DTDTL&o=OV3

Copyright(c)2001-2004 Ai Net Makoto 記事・情報の無断転載を禁止します。

「これがほしかった!厳選サンプルツール集」の注意点
●当サイトはリンクフリーです。
2024/04/26(金)00:05 更新