ListBoxコントロール
ListBoxコントロールはWebページにリストボックスを表示します。DropDownListコントロールと似たような扱い方ができます。
■ 主なプロパティ
プロパティ名
|
概要
|
Items
|
ListBoxコントロールの項目のコレクションを取得する
|
SelectedIndex
|
ListBoxコントロール内の選択された項目のインデックスを取得・設定する
|
SelectedItem
|
ListBoxコントロール内の選択された項目を取得・設定する
|
SelectedValue
|
ListBoxコントロール内の選択された項目の値を取得・設定する
|
SelectionMode
|
ListBoxコントロールの選択モードを取得・設定する
|
ListBoxの主なプロパティ
■ 主なイベント
イベント名
|
概要
|
SelectedIndexChanged
|
ListBoxコントロール内の選択項目が変更されたときに発生する
|
ListBoxの主なイベント
ListBoxコントロールはSelectionModeプロパティでユーザーがListBoxコントロール内で一度に選択できる項目数や、複数の項目を選択するかどうかを設定できます。Itemsプロパティのコレクションが持っているAddメソッドで項目を追加します。
プロジェクトの種類 |
ASP.NET Webアプリケーション |
プロジェクト名 |
ListBoxTest |
サンプルダウンロード
○ デザイン
Webフォームを追加して、次の図のように各コントロールを配置してください。
コントロールの配置例
○ プログラム
次のように各イベントハンドラを記述してください。
index.aspx.vb
- Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
- 'ポストバックのときは処理しない
- If Me.IsPostBack Then
- Return
- End If
- '項目を追加する
- Me.lstFruits.Items.Add("りんご")
- Me.lstFruits.Items.Add("みかん")
- Me.lstFruits.Items.Add("もも")
- Me.lstFruits.Items.Add("なし")
- End Sub
- Protected Sub btnChange_Click(sender As Object, e As EventArgs) Handles btnChange.Click
- '選択をクリアにする
- Me.lstFruits.ClearSelection()
- '選択方法を切り替える
- If Me.lstFruits.SelectionMode = ListSelectionMode.Single Then
- Me.lstFruits.SelectionMode = ListSelectionMode.Multiple
- Me.btnChange.Text = "単一選択に切り替え"
- Else
- Me.lstFruits.SelectionMode = ListSelectionMode.Single
- Me.btnChange.Text = "複数選択に切り替え"
- End If
- End Sub
- Protected Sub btnSend_Click(sender As Object, e As EventArgs) Handles btnSend.Click
- 'ラベルの表示内容をクリア
- Me.lblMessage.Text = String.Empty
- '選択されている場合は内容を表示
- If Me.lstFruits.SelectedIndex > -1 Then
- '項目ごとに選択されているかをチェック
- For Each li As ListItem In Me.lstFruits.Items
- If li.Selected Then
- Me.lblMessage.Text &= li.Text & " "
- End If
- Next
- Else
- '選択されていない場合はメッセージを表示
- Me.lblMessage.Text = "項目が選択されていません。"
- End If
- End Sub
○ 実行結果
実行結果
○ 解説
22~28行目は、LibtBoxコントロールの選択方法を変更しています。SelectionModeプロパティに現在の選択方法が格納されています。
36~46行目は選択した項目を表示しています。SelectedIndexプロパティは選択されていない場合は-1が格納されています。それ以外の場合は何かが選択されています。38~42行目では、複数の項目が選択されているかもしれないので、ListBoxコントロールの項目をループして選択されているかどうかを確認しています。各項目(ListItemオブジェクト)のSelectedプロパティに選択状態が格納されています。
前へ 次へ