VB.Net コンボBox 例による制御
⚡ スマートサマリー
コンボBox VB.Net では Windows テキストボックスとドロップダウンリストを組み合わせたフォームコントロール。ユーザーが単一の項目を選択したり、入力したりできるため、フォーム上のスペースを節約できます。
コンボボックスコントロールとは何ですか?
コンボボックス コントロールを使用すると、多くの項目を含むドロップダウン リストを表示できます。これは、ユーザーがテキストを入力するテキスト ボックスと、ユーザーが項目を選択するドロップダウン リストの組み合わせと考えてください。コンボボックスには、一度に 1 つの項目が表示されることに注意してください。
コンボボックスの作成
コンボBox 次のように作成できます。
ステップ1)新しいアプリケーションを作成します。
ステップ2)ツールボックスからコンボボックスコントロールをフォームにドラッグします。
コンボボックス コントロールが作成されます。
コンボボックスにアイテムを追加する
コンボボックスを作成したので、そこに項目を追加する方法を説明します。
Double 追加したコンボボックス コントロールをクリックします。デザイン タブからコードのあるタブに移動します。
コンボ ボックス コントロールに項目を追加するには、Items プロパティを使用します。コンボ ボックスに Male と Female という 2 つの項目を追加して、これを実証してみましょう。
ComboBox1.Items.Add("Male") ComboBox1.Items.Add("Female")
プロパティ ウィンドウからデザイン時にコンボボックスに項目を追加することもできます。手順は次のとおりです。
ステップ1)デザインタブを開き、コンボボックスコントロールをクリックします。
ステップ2)プロパティウィンドウに移動し、「アイテム」オプションを表示します。
ステップ3)(コレクション)の右側にある…をクリックします。
ステップ4)新しいウィンドウが表示されます。ここに、以下に示すようにコンボボックスに項目を追加してください。
ステップ5)tyが完了したらping 項目を選択したら、「OK」ボタンをクリックしてください。
ステップ6)上部のツールバーからスタートボタンをクリックし、コンボボックスのドロップダウンアイコンをクリックします。
項目がコンボボックス コントロールに正常に追加されました。
コンボボックス項目の選択
フォームがロードされたときに選択されるデフォルトの項目を設定する必要がある場合があります。これは、SelectedItem() メソッドを使用して実現できます。たとえば、デフォルトで選択される性別を男性に設定するには、次のステートメントを使用できます。
ComboBox1.SelectedItem = "Male"
コードを実行すると、コンボボックス コントロールは次のようになります。
コンボボックスの値を取得する
コンボボックスから選択された項目を取得できます。これは、textプロパティを使用することで可能です。上記のコンボボックス(項目は男性と女性)を使って、この方法を説明しましょう。以下の手順に従ってください。
ステップ1) Double コンボボックスをクリックすると、VB.Netコードを含むタブが開きます。
ステップ2)以下のコードを追加します。
Public Class Form1 Private Sub ComboBox1_SelectedIndexChanged(sd As Object, evnt As EventArgs) Handles ComboBox1.SelectedIndexChanged Dim var_gender As String var_gender = ComboBox1.Text MessageBox.Show(var_gender) End Sub End Class
ステップ3)ツールバーの「開始」ボタンをクリックしてコードを実行します。すると、次のフォームが表示されます。
ステップ4)ドロップダウンボタンをクリックして性別を選択します。私の場合は男性を選択すると、次のようになります。
コードのスクリーンショットは次のとおりです。
の説明 Code:
- Form1 という名前のクラスを作成します。 アクセス修飾子が Public に設定されているため、クラスはパブリックにアクセス可能になります。
- Comboという名前のサブプロシージャを開始しますBox1_SelectedIndexChanged。これは、デザイン タブからコンボボックス コントロールをダブルクリックすると自動的に生成されます。このサブプロシージャは、コンボボックスから項目を選択すると呼び出されます。sd As Object はイベントを発生させたオブジェクトを参照し、evnt As EventArgs はイベント データを保持します。
- var_genderという名前の文字列変数を作成します。
- 変数 var_gender の値をコンボボックスで選択された項目に設定します。
- 変数 var_gender の値をメッセージに表示するBox.
- コンボの終わりBox1_SelectedIndexChanged サブプロシージャ。
- Form1 クラスの終わり。
コンボボックス項目の削除
コンボボックスから項目を削除することができます。これを行うには 2 つの方法があります。項目のインデックスまたは項目の名前のいずれかを使用できます。
項目インデックスを使用する場合は、以下に示すように Items.RemoveAt() プロパティを使用する必要があります。
ComboBox1.Items.RemoveAt(1)
上記の例では、コンボボックスのインデックス 1 にある項目を削除しています。コンボボックスのインデックスはインデックス 0 から始まることに注意してください。つまり、上記のコマンドはコンボボックスの XNUMX 番目の項目を削除します。
名前を使用して項目を削除するには、以下に示すように Items.Remove() プロパティを使用する必要があります。
ComboBox1.Items.Remove("Female")
上記のコードは、コンボから Female という名前のアイテムを削除する必要があります。Box1.
バインディングデータソース
コンボBox データセットから入力できます。 以下の SQL クエリを考えてみましょう。
select emp_id, emp_name from employees;
プログラム内でデータソースを作成し、次のコードを使用してバインドすることができます。
comboBox1.DataSource = ds.Tables(0) comboBox1.ValueMember = "emp_id" comboBox1.DisplayMember = "emp_name"
これにより、個々の項目を入力しなくても、コンボボックス コントロールにデータを簡単に入力できるようになります。
SelectedIndexChanged イベント
ユーザーが新しい値を選択した瞬間にプログラムが反応するようにしたい場合がよくあります。
このタイプのイベントは、コンボボックスで選択した項目を変更したときに呼び出されます。コンボボックスで選択した項目の変更時にアクションを実装する必要がある場合に使用するイベントです。例を使用してこれを説明します。
ステップ 1) 新規作成 Windows フォームアプリケーション。
ステップ2)次に、2つのコンボボックスコントロールをフォームにドラッグアンドドロップする必要があります。
ステップ3) Double フォーム内をクリックしてコードのタブを開きます。次のコードを入力します。
Public Class Form1 Private Sub Form1_Load(sd As Object, evnt As EventArgs) Handles MyBase.Load ComboBox1.Items.Add("Males") ComboBox1.Items.Add("Females") End Sub Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged ComboBox2.Items.Clear() If ComboBox1.SelectedItem = "Males" Then ComboBox2.Items.Add("Nicholas") ComboBox2.Items.Add("John") ElseIf ComboBox1.SelectedItem = "Females" Then ComboBox2.Items.Add("Alice") ComboBox2.Items.Add("Grace") End If End Sub End Class
ステップ4)上部のバーにある「開始」ボタンをクリックしてコードを実行します。以下の出力が表示されるはずです。
ステップ5)最初のコンボボックスのドロップダウンボタンをクリックして「男性」を選択します。マウスカーソルを2番目のコンボボックスに移動し、そのドロップダウンボタンをクリックします。利用可能な項目を確認してください。
ステップ6)最初のコンボボックスに移動して選択する 女性2番目のコンボボックスに移動して、利用可能なアイテムを確認してください。
コードのスクリーンショットは次のとおりです。
の説明 Code:
- Form1 という名前のクラスを作成します。
- Form1_Load() という名前のサブルーチンの開始。これはフォームが読み込まれると実行されます。sd As Object はイベントを発生させたオブジェクトを参照し、evnt As EventArgs はイベントデータを保持します。
- アイテム「男性」をコンボに追加するBox1.
- アイテム「女性」をコンボに追加するBox1.
- Form1_Load() サブプロシージャの終了。
- Combo という名前のサブプロシージャの開始Box1_SelectedIndexChanged()。これは、最初のコンボ ボックスで項目が選択されたときに呼び出されます。sender As Object はイベントを発生させたオブジェクトを参照し、e As EventArgs にはイベント データが含まれます。
- コンボを作るBox2 空の場合は、すべてのアイテムをクリアします。
- 条件を作成します。 選択したアイテムがコンボ上にあるかどうかを確認するBox1は男性です。
- アイテム「ニコラス」をコンボに追加Box2 上記の条件が true の場合、つまりコンボでアイテムが選択されている場合Box1は男性です。
- アイテム「ジョン」をコンボに追加Box2 上記の条件が true の場合、つまりコンボでアイテムが選択されている場合Box1は男性です。
- 条件を作成します。 選択したアイテムがコンボ上にあるかどうかを確認するBox1は女性です。
- アイテム「アリス」をコンボに追加Box2 上記の条件が true の場合、つまりコンボでアイテムが選択されている場合Box1は女性です。
- アイテム「グレース」をコンボに追加Box2 上記の条件が true の場合、つまりコンボでアイテムが選択されている場合Box1は女性です。
- If ブロックの終わり。
- コンボの終わりBox1_SelectedIndexChanged() サブプロシージャ。
- クラス Form1 の終わり。













