web-dev-qa-db-ja.com

Combobox C#からデフォルトのアイテムを選択する

ComboBoxアイテムコレクションにいくつかのアイテムがあり、このリストからアイテムを1つ選択し、デフォルトのアイテムとして設定したい-アプリの起動時に、このアイテムは既にcomboBoxにあります。

私はそのようなことをしようとしています:

SelectPrint11.SelectedIndex=2;

しかし、エラーは次のとおりです。

System.ArgumentOutOfRangeException: InvalidArgument=Value of '2' is not valid for 'SelectedIndex'

編集:

mylistには、Printer1Printer2Printer3の3つのアイテムがあります。すべてがComboBox Properties -> Items -> Collectionに追加されます

29
Elfoc

SelectedIndexを使用して設定できます

comboBox1.SelectedIndex= 1;

OR

SelectedItem

comboBox1.SelectedItem = "your value"; // 

値がコンボボックスで利用できない場合、後者は例外をスローしません

[〜#〜] edit [〜#〜]

選択する値が具体的でない場合は、これを使用する方が良いでしょう

comboBox1.SelectedIndex = comboBox1.Items.Count - 1;
64
V4Vendetta

C#のコレクションはゼロベースであることに注意してください(つまり、コレクション内のfirstアイテムはzeroの位置にあります)。リストに2つのアイテムがあり、最後のアイテムを選択する場合は、SelectedIndex = 1を使用します。

6

これは、選択したインデックスがコンボボックス内のアイテムの配列の範囲外であることを意味します。コンボボックス内のアイテムの配列はゼロベースであるため、アイテムが2つある場合、アイテム0とアイテム1になります。

2
Tony The Lion
private void comboBox_Loaded(object sender, RoutedEventArgs e)
{
 Combobox.selectedIndex= your index;
}

または、コンボボックスと比較した後に値を表示する場合

 foreach (var item in comboBox.Items)
            {
                if (item.ToString().ToLower().Equals("your item in lower"))
                {
                    comboBox.SelectedValue = item;
                }
            }

私の役に立つことを願っています。

1
Ahmad