2017-05-15 3 views
0

プログラムにコンボボックスのテキストを変更して文字列に変更するよう指示します。C#プログラムはコンボボックスのテキストを変更しません

int i = 0; 
bool found = false; 
do 
{ 
    if (Globais.loc_txt[i] == (items[0] + " ") || Globais.loc_txt[i] == (items[0])) 
    { 
     cb_loc.Text = Globais.loc_txt[i]; // ele encontra bem, mas agora nao está a mudar o valor de text na cb 
     break; 
    } 

    else { i++; } 

} while (!found && i <= Globais.loc.Length); 

にかかわらず、感謝: は、ここでは、コードの一部です。

PS:cb_locは私のコンボボックスの名前です.Globais.loc_txt [i]は文字列配列で、i位置に文字列があります。私のコンボボックスの設定ザッツ

enter image description here

または何でもあなたがそれらを呼び出します。 msdnによれば

+0

if条件は本当ですか?テストするには、デバッグするか、Debug.WriteLine( "Got it")を追加します。 if –

+1

あなたはそれをデバッグしようとしましたか? – wkl

+0

はい、それはcb_locの値を変更するコードを実行しますが、私はそれが本当にテキストを変更didntを参照してください – jeyejow

答えて

1

:nullにTextプロパティまたは空の文字列( "")を設定

-1にSelectedIndexを設定します。 TextプロパティをItemsコレクション内の値に設定すると、SelectedIndexはそのアイテムのインデックスに設定されます。 Textプロパティをコレクションにない値に設定すると、SelectedIndexは変更されません。

コンボボックスのテキストではなく、コンボボックスを設定していますか? コレクションに最初に項目を追加しようとする新しい文字列の場合。

あなたのロジックは文字列を比較して後続のスペースでチェックしているようです。 1、私は両方があなたのコンボボックスにないと推測しています。 2、Globais.loc_txt [i]をトリムできますか。

int i = 0; 
bool found = false; 
do 
{ 
    string text = Globais.loc_txt[i].TrimEnd() 
    if (text == item[0]) 
    { 
     cb_loc.Text = text; // ele encontra bem, mas agora nao está a mudar o valor de text na cb 
     break; 
    } 

    else { i++; } 

} while (!found && i <= Globais.loc.Length); 
+0

if stamentの中に入ると、配列内の対応する一致が見つかったので、私は同じ場所に置かれます:/ – jeyejow

+0

ComboBox.ItemsはGlobais.loc_txt []と一致するはずですか? – Scrobi

関連する問題