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.cs
- protected void Page_Load(object sender, EventArgs e)
- {
- //ポストバックのときは処理しない
- if (this.IsPostBack)
- {
- return;
- }
- //項目を追加する
- this.lstFruits.Items.Add("りんご");
- this.lstFruits.Items.Add("みかん");
- this.lstFruits.Items.Add("もも");
- this.lstFruits.Items.Add("なし");
- }
- protected void btnChange_Click(object sender, EventArgs e)
- {
- //選択をクリアにする
- this.lstFruits.ClearSelection();
- //選択方法を切り替える
- if (this.lstFruits.SelectionMode == ListSelectionMode.Single)
- {
- this.lstFruits.SelectionMode = ListSelectionMode.Multiple;
- this.btnChange.Text = "単一選択に切り替え";
- }
- else
- {
- this.lstFruits.SelectionMode = ListSelectionMode.Single;
- this.btnChange.Text = "複数選択に切り替え";
- }
- }
- protected void btnSend_Click(object sender, EventArgs e)
- {
- //ラベルの表示内容をクリア
- this.lblMessage.Text = string.Empty;
- //選択されている場合は内容を表示
- if (this.lstFruits.SelectedIndex > -1)
- {
- //項目ごとに選択されているかをチェック
- foreach (ListItem li in this.lstFruits.Items)
- {
- if (li.Selected)
- {
- this.lblMessage.Text += li.Text + " ";
- }
- }
- }
- else
- {
- //選択されていない場合はメッセージを表示
- this.lblMessage.Text = "項目が選択されていません。";
- }
- }
○ 実行結果
実行結果
○ 解説
33~42行目は、LibtBoxコントロールの選択方法を変更しています。SelectionModeプロパティに現在の選択方法が格納されています。
51~66行目は選択した項目を表示しています。SelectedIndexプロパティは選択されていない場合は-1が格納されています。それ以外の場合は何かが選択されています。54~60行目では、複数の項目が選択されているかもしれないので、ListBoxコントロールの項目をループして選択されているかどうかを確認しています。各項目(ListItemオブジェクト)のSelectedプロパティに選択状態が格納されています。
前へ 次へ