2

对不起,我想可能不清楚这个问题:

问题是我有一个 Windows 窗体,我ComboBox从我的代码中填写 a 并将其设置SelectedIndex1。我的问题是,当我写东西时 allComboBoxSelectedIndex自动变为0

第一张图片显示我还没有填写任何值。第二个,是当我在TextBox.

不变 在此处输入图像描述

我没有TextChanged活动。我还要明确表示我正在使用BindingSource此表格。

我的代码ComboBox是这样的:

  private void FillNationality()
    {   

        var items = new BindingList<KeyValuePair<string, string>>();

        items.Add(new KeyValuePair<string, string>("E", "Expatriate"));
        items.Add(new KeyValuePair<string, string>("R", "Resident"));
        items.Add(new KeyValuePair<string, string>("Z", "Zambian"));

        nationalityComboBox.DataSource = items;
        nationalityComboBox.ValueMember = "Key";
        nationalityComboBox.DisplayMember = "Value";
        nationalityComboBox.SelectedIndex = 0;
    }

你能帮我解决这个问题吗?

4

1 回答 1

1

ComboBox被重置,因为它绑定到 TextBox,并且随着 TextBox 中的 Text 更改,有界控件被更新。我不确定我的回答是否会阻止这个问题,但试一试。在TextBox的TextChanged事件中添加以下代码;

int value=1;//Set this value equal to index that you want to select.

private void Textbox_TextChangedEvent(object sender,EventArgs e)
{
   Combobox.SelectedIndex=value;//Change Combobox to you control's name.
}

我知道这看起来很疯狂,'每次在 TextBox 中输入字符时都在组合框中选择一个值'。但是尝试的损失是什么?

于 2013-08-29T20:28:45.990 回答