ホーム > VB.NET, コンピュータ > VB.NET Tips ComboboxのItemsリストを検索し、該当するIndexを取得する

VB.NET Tips ComboboxのItemsリストを検索し、該当するIndexを取得する

2009 年 5 月 14 日

ComboboxのItemsリストを検索

photo by flosinski

VB.NET(Visual Basic 2008)で、ComboboxのDataSourceに登録する、又はItemsプロパティから追加したリストを登録して使用します。

この、Comboboxのリスト内に該当する文字列が格納されているか確認したい場合などに、リスト内を検索する必要があります。

最初、リストをFor文などでComboboxのCount数だけ回して、該当するものを検索しようかと思ったのですが、もっとスマートな方法がComboboxのメソッドにあります。

ComboBox.FindString メソッド
ComboBox 内で、指定した文字列で始まる最初の項目を検索します。

又は、

ComboBox.FindStringExact メソッド
指定した文字列と厳密に一致する項目を検索します。

どちらのメソッドも該当項目がなければ、-1を、見つかれば該当Indexの値を返します。

今回は、FindStringExact メソッドを使用してみました。

'データソース、ディスプレイメンバーを指定
            ComboBox1.DataSource = MyDataSource
            ComboBox1.DisplayMember = "Name"

           Dim SearchStr as String = "hoge"
           ComboBox1.SelectedIndex = ComboBox1.FindStringExact(SearchStr)

関連するエントリー

    None Found

VB.NET, コンピュータ , , , , ,

  1. | #1

    ループが不要になり、コードもすっきりして気持ちよくなりました。
    ありがとうございました。

  2. 通りすがり
    | #2

    こんな便利なメソッドがあったんですね!
    ありがとうございます

  1. トラックバックはまだありません。