2013-02-28 131 views
2

对不起,我认为可能还不清楚的问题:在这里我从我的代码填充ComboBox为什么文本更改组合框中选择更改

的问题是我有一个Windows窗体,并设置SelectedIndex到。我的问题是,当我写东西全部ComboBoxSelectedIndex自动更改为。

第一张照片显示我还没有填写任何值时。第二个,是我在TextBox写东西的时候。

Withoutchange enter image description here

我没有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; 
    } 

能否请你帮我这个问题?

+0

也许你的'Emp代码'文本框的'TextChanged'事件有一个代码? – 2013-02-28 07:04:40

+0

@GianAcuna不,我没有写任何类型的代码文本更改 – 2013-02-28 07:05:27

+0

嗯,所有控件绑定到源?如果是这样,我猜想改变文本框的内容导致一个新的记录事件,这就是为什么所有其他控件被重置。 – 2013-02-28 07:07:13

回答

1

组合框被重置,因为它是一定到文本框,并在文本框的文本更改为界控件updated.I我不知道如果我的回答将防止这个问题,但不妨一试。在您的TextBoxTextChanged事件中添加以下代码;

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'.But键入的内容是在试图损失在组合框的值?

相关问题