我告诉程序更改组合框文本以更改为我拥有的字符串,并且它不会更改文本。 以下是代码的一部分:
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位置有一个字符串。
这就是我的组合框设置或你称之为的任何设置。
答案 0 :(得分:1)
根据msdn:
将Text属性设置为null或空字符串(“”)将SelectedIndex设置为-1。将Text属性设置为Items集合中的值会将SelectedIndex设置为该项的索引。 将Text属性设置为不在集合中的值会使SelectedIndex保持不变。
您要将combobox.Text的文本设置为组合框中的项目吗? 如果是新字符串,则首先尝试将该项添加到集合中。
你的if逻辑似乎只是比较一个字符串并用尾随空格检查它。 1,我假设两者都不在你的combobox.items中。 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);