VB.Net コンボBox 例による制御
コンボボックスコントロールとは何ですか?
コンボボックス コントロールを使用すると、多くの項目を含むドロップダウン リストを表示できます。これは、ユーザーがテキストを入力するテキスト ボックスと、ユーザーが項目を選択するドロップダウン リストの組み合わせと考えてください。コンボボックスには、一度に 1 つの項目が表示されることに注意してください。
コンボボックスの作成
コンボBox 次のように作成できます。
ステップ1) 新しいアプリケーションを作成します。
ステップ2) ツールボックスからフォームにコンボボックス コントロールをドラッグします。
コンボボックス コントロールが作成されます。
コンボボックスにアイテムを追加する
コンボボックスを作成したので、そこに項目を追加する方法を説明します。
Double 追加したコンボボックス コントロールをクリックします。デザイン タブからコードのあるタブに移動します。
コンボ ボックス コントロールに項目を追加するには、Items プロパティを使用します。コンボ ボックスに Male と Female という 2 つの項目を追加して、これを実証してみましょう。
ComboBox1.Items.Add("Male") ComboBox1.Items.Add("Female")
プロパティ ウィンドウからデザイン時にコンボボックスに項目を追加することもできます。手順は次のとおりです。
ステップ1) デザイン タブを開き、コンボ ボックス コントロールをクリックします。
ステップ2) 「プロパティ」ウィンドウに移動し、「項目」オプションを表示します。
ステップ3) (コレクション)の右側にある…をクリックします。
ステップ4)新しいウィンドウが表示されます。ここで、以下に示すように、コンボボックスに項目を追加します。
ステップ5) 項目の入力が完了したら、「OK」ボタンをクリックします。
ステップ6) 上部のツールバーから [スタート] ボタンをクリックし、コンボ ボックスのドロップダウン アイコンをクリックします。
項目がコンボボックス コントロールに正常に追加されました。
コンボボックス項目の選択
フォームがロードされたときに選択されるデフォルトの項目を設定する必要がある場合があります。これは、SelectedItem() メソッドを使用して実現できます。たとえば、デフォルトで選択される性別を男性に設定するには、次のステートメントを使用できます。
ComboBox1.SelectedItem = "Male"
コードを実行すると、コンボボックス コントロールは次のようになります。
コンボボックスの値を取得する
コンボボックスから選択された項目を取得できます。これは、テキスト プロパティを使用して実行できます。上記の 2 つの項目 (男性と女性) を含むコンボボックスを使用してこれを実証してみましょう。以下の手順に従ってください。
ステップ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) ドロップダウン ボタンをクリックして、性別を選択します。私の場合は、男性を選択すると、次のようになります。
コードのスクリーンショットは次のとおりです。
コードの説明:
- Form1 という名前のクラスを作成します。 アクセス修飾子が Public に設定されているため、クラスはパブリックにアクセス可能になります。
- Combo という名前のサブプロシージャの開始Box1_SelectedIndexChanged。これは、デザイン タブからコンボ ボックス コントロールをダブルクリックすると自動的に生成されます。このサブプロシージャは、コンボ ボックスから項目を選択すると呼び出されます。sd As Object はイベントを発生させたオブジェクトを参照し、event As EventArgs にはイベント データ s が含まれます。
- 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 番目のコンボボックスに移動して、使用可能な項目を確認します。
コードのスクリーンショットは次のとおりです。
コードの説明:
- Form1 という名前のクラスを作成します。
- Form1_Load() という名前のサブプロシージャの開始。 これは、フォームがロードされるとトリガーされます。 sd As Object はイベントを発生させたオブジェクトを参照しますが、システム 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 の終わり。
製品概要
- コンボBox ツールボックスからドラッグしてフォームにドロップすることで作成されます。
- これは、ユーザーに多数のオプションを提示する方法を提供します。
- コンボで選択されるデフォルトの項目を設定できますBox フォームがロードされたとき。
- SelectedIndexChanged イベントは、コンボ ボックスで特定の項目が選択されたときに実行するアクションを指定するのに役立ちます。