我的窗体上有一个组合框。它处于DropDown模式,并具有自动完成功能。首次显示时,其文字为"Choose part..."
。我希望在选择完成后重置文本。我已经试过这(假设该组合框被命名为comboBox1
):在选择后重置组合框中的文本
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
// [omitted]
comboBox1.Text = "Choose part...";
}
它只有当选择使用键盘(例如,键入一个值,然后按[Enter]
或开始打字,使用箭头做工作选择一个自动更正值,然后按[Enter]
)。当使用鼠标进行选择时,文本保持选定的值。
我以前用键盘&鼠标做了与comboboxes不同的事情,但这与某些事件没有触发有关。我确信这个事件正在触发(不管使用哪种方法,上面省略的代码都会运行)。
有没有人见过这个?任何解决方案
试图隐藏用户实际做出选择的事实使UI非常难以使用。我想你可以使用Leave事件来恢复文本。请考虑只使用标签。你甚至可以把它放在文本框部分的顶部。 – 2011-12-29 19:45:51
@HansPassant选择被“复制”到另一个位置(所以用户知道他们做了选择)。问题是我想向用户指出组合框可以再次用于其他选择,*不影响第一个选择。 – NickAldwin 2011-12-29 19:51:54