[C#] C #을 사용하여 문자열과 일치하도록 comboBox에서 선택한 항목을 어떻게 설정합니까?

나는 문자열 “TEST1″가 내 콤보 상자 포함하고 test1, test2하고 test3. 선택한 항목을 “test1″로 설정하려면 어떻게합니까? 즉, 문자열을 comboBox 항목 중 하나와 일치시키는 방법은 무엇입니까?

아래 줄을 생각하고 있었지만 작동하지 않습니다.

comboBox1.SelectedText = "test1"; 



답변

트릭을 수행해야합니다.

Combox1.SelectedIndex = Combox1.FindStringExact("test1")


답변

Text 속성 을 사용해 보셨습니까 ? 그것은 나를 위해 작동합니다.

ComboBox1.Text = "test1";

SelectedText 속성은 콤보 상자의 텍스트 상자 부분에서 편집 가능한 텍스트의 선택된 부분에 대한 것입니다.


답변

콤보 박스가 데이터 바인딩되어 있지 않다고 가정하면 양식의 “항목”컬렉션에서 개체의 인덱스를 찾은 다음 “selectedindex”속성을 적절한 인덱스로 설정해야합니다.

comboBox1.SelectedIndex = comboBox1.Items.IndexOf("test1");

항목을 찾을 수없는 경우 IndexOf 함수는 인수 예외를 발생시킬 수 있습니다.


답변

ComboBox의 항목이 문자열이면 다음을 시도해보십시오.

comboBox1.SelectedItem = "test1";


답변

나에게 이것은 단지 효과가 있었다 :

foreach (ComboBoxItem cbi in someComboBox.Items)
{
    if (cbi.Content as String == "sometextIntheComboBox")
    {
        someComboBox.SelectedItem = cbi;
        break;
    }
}

MOD : 콤보 박스에 설정된 항목으로 자신의 객체가있는 경우 ComboBoxItem을 다음과 같이 대체하십시오.

foreach (Debitor d in debitorCombo.Items)
{
    if (d.Name == "Chuck Norris")
    {
        debitorCombo.SelectedItem = d;
        break;
    }
}


답변

SelectedText는 여기에 설명 된대로 콤보 박스에서 선택한 항목에 대한 문자열 편집기의 실제 텍스트를 가져 오거나 설정하는 입니다. 다음을 설정하면 편집 할 수 없습니다.

comboBox1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;

사용하다:

comboBox1.SelectedItem = "test1";

또는:

comboBox1.SelectedIndex = comboBox1.Items.IndexOf("test1");


답변

ComboBox1.SelectedIndex= ComboBox1.FindString("Matching String");

Windows Form에서 이것을 시도하십시오.