C# Combobox 当下拉列表关闭时,需要展示输入的数据,不选中第一个匹配的数据

先上代码:
private void Form1_Load(object sender, EventArgs e)
{
comboBox1.DropDownStyle = ComboBoxStyle.DropDown;
comboBox1.Items.Add("abc");
comboBox1.Items.Add("bcd");
comboBox1.Items.Add("cde");
}

private void comboBox1_TextUpdate(object sender, EventArgs e)
{

string text = comboBox1.Text;

if (!comboBox1.DroppedDown)
{
comboBox1.DroppedDown = true;
}
//防止微软的bug
comboBox1.Text = text;
Cursor.Current = Cursors.Default;
SendKeys.Send("{END}");
}

问题:当输入a并且comboBox1下拉列表闭合时,comboBox1会自动选中项”abc“,comboBox1的Text也变为abc;当输入b并且comboBox1下拉列表闭合时,comboBox1会自动选中项”bcd“,comboBox1的Text也变为bcd;
需求: 我想不让comboBox1自动选择匹配到的第一项,比如例子中输入a并且comboBox1下拉列表闭合时,comboBox1不要选中项”abc“,就展示为”a“,只有当用户鼠标选择下拉列表中的项时才展示选中的项;还有就是TextUpdate事件触发时,下拉列表必须为打开状态。

我试了很多,认为这是微软ComboBox内置的这种功能,不知道怎样能实现我需要的功能,希望得到高手指导。

第1个回答  2015-01-22
如果我没猜错,你应该是想实现类似VS的IDE的代码智能提示功能吧?追问

不是,是过滤联想功能

追答

在现实世界中你能不能找到哪个地方有类似功能?

C# combox设置显示下拉菜单的第一项是怎么回事?
原因:控件失去焦点的时候也显示列表而不自己选了第一项回缩起来。C# 设置ComboBox下拉框内容:1.、设置下拉框属性为:其中DropDownList属性只能从下拉框已有的内容进行选择,DropDown为可选可输入。2、对下拉框进行初始化为:294行表示默认的下拉框选项。3、在下拉框事件中添加事件:在函数中判断当前的选...

c#为什么下拉菜单combobox当前的选项的值赋值不了我自定义的string
comboBox1.ValueMember.ToString();?这个貌似获取不到吧,应该是comboBox1.SelectedValue(获取选定项的value)和comboBox1.SelectedText(获取选定项文本),如果这个取不到值就用comboBox1.SelectedItem.ToString()

C#当comboBox自动匹配时 鼠标点击窗体出现 InvalidArgument='0' 不...
若匹配结果空则添加一个空白项,这样就能阻止报错,猜想是输入结果后控件默认设置text是第一个,但此时没有项,故index无效

c# 怎么可以在comboBox中输入内容 按下enter后 根据不同输入的内容进行...
private void comboBox1_KeyDown(object sender, KeyEventArgs e){ if (e.KeyValue == 13){ MessageBox.Show(comboBox1.Text);} }

在c#中comboBox中怎样设置可以让用户只能在下拉框中选择,不能编辑,并 ...
属性dropdownstyle设置为dropdownlist。这样只能选择无法编辑。显示默认值的话你只要往里面添加数据即可。自然会显示第一项为默认值。添加你可手动也可代码。

c#的combobox自动隐藏下拉列表的问题
在C页面的部分: 其中2是秒数。在B页面中添加一个button按钮。双击后在弹出的方法里写用户名,密码的检索。如果正确则写一句 Response.Redirect("C页面");

C# Winform ComboBox 在输入内容时 会在下拉菜单中显示 根据输入内容...
设置ComboBox的2个属性 AutoCompleteMode设置成SuggestAppend AutoCompleteSource设置成ListItems 希望对你有用!·

C#中ComboBox下拉选中一个后,下面的textbox自动显示数据库里对应的值...
在ComboBox的SelectIndexChanged事件中添加你查询数据库的代码 把查询结果赋值到textbox就可以了

c# 怎么实现comboBox“只能选择 不能修改”的功能
将ComboBox的DropDownStyle 属性设置为 DropDownList即可。Simple 简单的下拉列表框(始终显示列表)、DropDown 可以编辑,与有下拉列表。默认.DropDownList 只有下拉列表,不能编辑。因为hwndCtl为此组合框的句柄,lpsz为需要添加的字符串,组合框不能直接通过id添加内容,所以需要得到这个控件的句柄,还得使用...

C#如何设置combobox下拉框的内容
1、首先,我们新键一个Winform窗体应用程序,然后在界面上,放置一个下拉框。2、在CS类里面编辑代码,为下拉框绑定值,用来显示效果。3、回到form界面,选中下拉框,在属性面板中,选择属性DropDownHeight,这个属性就是这只下拉框的高度的属性。4、首先,我们设置下拉框的高度为200,然后,我们调试程序,...

相似回答
大家正在搜