在.NET中快速选择组合框(ComboBox)中的选项

ZDNet软件频道 时间:2004-03-31 作者:Builder.com |  我要评论()
本文关键词:
用户使用组合框(Combo box)的一个原因就是他们能够快速地从一个已给定的列表中选择所需的值。但是,如果在这个列表中存在很多项的话,那么用户就必须搜索所需项。
本文译自Builder.com,未经许可请勿转载

用户使用组合框(Combo box)的一个原因就是他们能够快速地从一个已给定的列表中选择所需的值。但是,如果在这个列表中存在很多项的话,那么用户就必须搜索所需项。在实际情况中,组合框能根据用字段的用户类型来进行搜索。Visual Basic.NET就提供了一个简便的方法来完成这个任务,那就是应用组合框对象中的FindString这个方法。

举例来说,往应用窗体上加入一个组合框(Combobox),然后再Form_Load事件中加入如下代码:

ComboBox1.Items.Add("Baker")
ComboBox1.Items.Add("Barber")
ComboBox1.Items.Add("Barker")
ComboBox1.Items.Add("Berkley")
ComboBox1.Items.Add("Brown")
ComboBox1.Items.Add("Carter")
ComboBox1.Items.Add("Davis")

接着,在ComboBox1_KeyPress事件中加入一下代码:

Dim intRow As Integer
Dim strSearchText As String

strSearchText = ComboBox1.Text

If Asc(e.KeyChar) >= 32 And Asc(e.KeyChar) <= 127 Then
    intRow = ComboBox1.FindString(strSearchText)

    If intRow > -1 Then
        ComboBox1.SelectedIndex = intRow
        ComboBox1.SelectionStart = Len(strSearchText)
        ComboBox1.SelectionLength = Len(ComboBox1.Text) - _
            ComboBox1.SelectionStart
    End If
End If

只要有任何字符的输入,这段代码就开始运行,这种字符的输入可以是标准的字母、数字或者是符号。然后就调用FindString,它将返回以输入字符串为开头的第一项的索引。如果返回的是正确的索引,那么这一项就被选中了。



责任编辑:李宁

欢迎评论投稿

百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134