为什么文本更改组合框中选择更改
问题描述:
对不起,我认为可能还不清楚的问题:在这里我从我的代码填充ComboBox
为什么文本更改组合框中选择更改
的问题是我有一个Windows窗体,并设置SelectedIndex
到。我的问题是,当我写东西全部ComboBox
的SelectedIndex
自动更改为。
第一张照片显示我还没有填写任何值时。第二个,是我在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;
}
能否请你帮我这个问题?
答
的组合框被重置,因为它是一定到文本框,并在文本框的文本更改为界控件updated.I我不知道如果我的回答将防止这个问题,但不妨一试。在您的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'.But键入的内容是在试图损失在组合框的值?
也许你的'Emp代码'文本框的'TextChanged'事件有一个代码? – 2013-02-28 07:04:40
@GianAcuna不,我没有写任何类型的代码文本更改 – 2013-02-28 07:05:27
嗯,所有控件绑定到源?如果是这样,我猜想改变文本框的内容导致一个新的记录事件,这就是为什么所有其他控件被重置。 – 2013-02-28 07:07:13