SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Silverlight/WPFで使える逆引きTips集

Silverlight/WPFで使える逆引きTips集
――リストボックス機能

(4) ListBoxコントロール


ダウンロード WPF_VB.zip (322.6 KB)
ダウンロード WPF_CS.zip (212.4 KB)
ダウンロード Silverlight_VB.zip (2.4 MB)
ダウンロード Silverlight_CS.zip (2.3 MB)

7. 選択されている項目を取得する

 選択されている項目を取得するにはSelectedItemsプロパティを参照します。SelectedItemsプロパティには、選択された順番に項目が格納されています。

 下記は[選択項目を取得する]ボタンがクリックされたときに、選択状態になっている項目をメッセージボックスに表示する例です。

選択されている項目を取得する例
選択されている項目を取得する例
VBの例
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles Button1.Click
    Dim selectItem As String = String.Empty

    '選択項目を取得し1つの文字列としてまとめる
    For Each Item As ListBoxItem In ListBox1.SelectedItems
        selectItem &= Item.Content & vbCrLf
    Next

    MessageBox.Show(selectItem)
End Sub
C#の例
private void button1_Click(object sender, RoutedEventArgs e)
{
    string selectItem = string.Empty;

    // 選択項目を取得し1つの文字列としてまとめる
    foreach ( ListBoxItem item in listBox1.SelectedItems )
    {
        selectItem += item.Content + "\n";
    }

    MessageBox.Show(selectItem);
}
ポイント

 選択されている項目を取得するには、SelectedItemsプロパティを使用する。

8. 選択されている項目のインデックスを取得する

 選択されている項目のインデックスるを取得するには、ItemsプロパティIndexOfプロパティを使用します。

 下記は、[選択されている項目のインデックスを取得]ボタンをクリックすると、選択されているすべての項目のインデックスを取得してメッセージボックスに表示する例です。

選択されている項目のインデックスを取得する例
選択されている項目のインデックスを取得する例
VBの例
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles Button1.Click
    Dim selectedItemIndexes As String = String.Empty

    '選択項目のインデックスを取得する
    Dim indexes = From o In ListBox1.SelectedItems
                  Select ListBox1.Items.IndexOf(o).ToString() & vbCrLf

    '取得したインデックスを1つの文字列にする
    For Each index In indexes
        selectedItemIndexes &= index
    Next

    MessageBox.Show(selectedItemIndexes)
End Sub

C#の例
private void button1_Click(object sender, RoutedEventArgs e)
{
    string selectedItemsIndex = string.Empty;

    // 選択項目のインデックスを取得する
    var indexes = from o in listBox1.SelectedItems.Cast<listboxitem>()
                  select listBox1.Items.IndexOf(o).ToString() + "\n";

    // 取得したインデックスを1つの文字列にする
    foreach (string index in indexes)
        selectedItemsIndex += index;

    MessageBox.Show(selectedItemsIndex);
}
ポイント

 選択されている項目のインデックスを取得するにはIndexOfプロパティを使用する。

次のページ
9. 指定した項目が選択されているか調べる

この記事は参考になりましたか?

Silverlight/WPFで使える逆引きTips集連載記事一覧

もっと読む

この記事の著者

HIRO(ヒロ)

HIRO's.NETのHIROです。とある半導体工場のSEです。VB.NET, C#, PowerShellによるプログラミングを楽しんでいます。最近はBlog でPowerShellについて書いています。2008/07/07にPowerShell from Japan!!というサイトを立ち上げまし...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/5557 2010/11/25 22:09

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー