combox 能够展开么?

husanbo110 2010-09-29 03:43:08
我现在做了一个输入框
是combox 我现在有关键字asdd,asss
我输入a的时候这些关键字都能出现在下拉菜单中

然后可以选择输入的是asdd,还是asss

但是combox得话 必须点击下拉菜单的那个按钮才会出现asdd,asss

怎么让下拉菜单默认是展开的么?


或者用什么控件可以实现这个功能?
...全文
259 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuyq11 2010-09-29
  • 打赏
  • 举报
回复
ComboBox.AutoCompleteMode=AutoCompleteMode.Suggest;
ComboBox.AutoCompleteSource=AutoCompleteSource.CustomSource;
ComboBox.AutoCompleteCustomSource=字符串集合。
http://www.codeproject.com/KB/combobox/AutoCompleteComboBox.aspx
sorry_rr 2010-09-29
  • 打赏
  • 举报
回复
http://blog.csdn.net/Rock870210/archive/2010/09/01/5856235.aspx
楼主看看这个
nimingxin1987 2010-09-29
  • 打赏
  • 举报
回复
winform的ComboBox?
AutoCompleteSource
AutoCompleteMode
貌似设置这两个属性
w_f_y4422 2010-09-29
  • 打赏
  • 举报
回复
如果那些asss不在数据库里,可以考虑字符串的IndexOf()或者正则表达式。方法变通点会有很多的。
w_f_y4422 2010-09-29
  • 打赏
  • 举报
回复
也可以在listBox的右下角加个小小的label,Text为X,看起来像个关闭按钮,单击就将listBox隐藏,嘿嘿。再要完美些,就在鼠标事件里弄
w_f_y4422 2010-09-29
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 husanbo110 的回复:]
引用 9 楼 w_f_y4422 的回复:
楼主是想实现像谷歌搜索引擎那样的功能。用listBox+textBox摆好位置可以变通实现

是的
但是 listBox+textBox 不怎么好控制
比如说什么时候让listBox可见
什么时候它消失 感觉不好控制
[/Quote]
也不难控制啊,用textBox 的TextChanged事件模糊查询,有数据就显示listBox,单击或双击listBox里一条目,然后关闭
husanbo110 2010-09-29
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 w_f_y4422 的回复:]
楼主是想实现像谷歌搜索引擎那样的功能。用listBox+textBox摆好位置可以变通实现
[/Quote]
是的
但是 listBox+textBox 不怎么好控制
比如说什么时候让listBox可见
什么时候它消失 感觉不好控制
w_f_y4422 2010-09-29
  • 打赏
  • 举报
回复
楼主是想实现像谷歌搜索引擎那样的功能。用listBox+textBox摆好位置可以变通实现
husanbo110 2010-09-29
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 sorry_rr 的回复:]
DroppedDown = true
自动下拉
[/Quote]
设置了,还是不行
raymond123456 2010-09-29
  • 打赏
  • 举报
回复
DroppedDown = true
fangxiaofelix 2010-09-29
  • 打赏
  • 举报
回复
还有一些BUG,你改改应该可以达到要求

List<string> list = new List<string>();
List<string> listNew = new List<string>();
public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
comboBox1.DataSource = null;
list.Add("a");
list.Add("aa");
list.Add("abc");
list.Add("bcc");
comboBox1.DataSource = list;
comboBox1.SelectedIndex = -1;
}

private void comboBox1_TextChanged(object sender, EventArgs e)
{
string text = comboBox1.Text;
if (text == "")
{
return;
}
else
{
listNew = list.FindAll(s => s.Contains(text));
comboBox1.DataSource = listNew;
comboBox1.DroppedDown = true;
if (listNew.Count > 0)
{
//comboBox1.SelectedIndex = 0;
comboBox1.SelectionStart = text.Length;
}

}
}
龍月 2010-09-29
  • 打赏
  • 举报
回复
combox1.DroppedDown = true
试试
jjj5536003 2010-09-29
  • 打赏
  • 举报
回复
DroppedDown = true
jjj5536003 2010-09-29
  • 打赏
  • 举报
回复
用listbox可以的,楼主试试
sorry_rr 2010-09-29
  • 打赏
  • 举报
回复
DroppedDown = true
自动下拉
ajq1989 2010-09-29
  • 打赏
  • 举报
回复

listbox 可以实现

111,131

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧