【发布时间】:2012-05-02 08:51:56
【问题描述】:
我有一个带有组合框、文本框和按钮的基本表单。组合框中的项目数量不可更改,但可以通过为所选项目输入新值来更改项目本身。
从图中的示例中,如果我输入了一个字符串,例如“标识符”,则组合框中的选定项从“ID”变为“标识符”,正如预期的那样。但是,如果我输入“id”,逻辑(如下)正常执行,项目更新,但在视觉上,项目不会从“ID”变为“id”。
这里是按钮事件处理程序的代码
private void btnApply_Click(object sender, EventArgs e) {
string newValue = txtNewName.Text;
if(string.IsNullOrWhiteSpace(newValue)) {
MessageBox.Show("Please input a new column name");
return;
}
if(cmbHeaderNames.Items.Contains(newValue)) {
MessageBox.Show("A column with that name already exists");
return;
}
cmbHeaderNames.Items[cmbHeaderNames.SelectedIndex] = newValue;
txtNewName.Text = "";
}
【问题讨论】:
-
我相信您想使用 BindingList<T> 作为 DataSource 来执行此操作。