用ComBox控件自制浏览器网址输入框


 

  前言

  为何会突然写出这篇博客呢?还得从评教系统说起。在评教系统中有一处根据下拉组合框中的教师姓名来查询教师信息。当时在给学生添加课程的时候需要用到这功能。

  如果要从下拉中选的话,由于全校的教师很多,看的眼花缭乱的,如果自己输入的话,一旦名字输入错误,教师信息也查不出。

  记得当初在评教系统中,这块最头疼了,也挺耽误时间的,就在想能不能做成仿照网页似的,当输入关键字的时候,名字也能够模糊匹配呢。下面就是这一功能介绍。



  窗体截图



 源代码

 public partial class Frm_Main : Form
    {
        public Frm_Main()
        {
            InitializeComponent();
        }

        private bool State = false;//定义一个全局变量标识

        private void Frm_Main_Load(object sender, EventArgs e)
        {
            cbox_Url.Items.Add("http://www.mingribook.com/");//向ComboBox控件中添加网址“http://www.mingribook.com/”
            cbox_Url.Items.Add("http://www.baidu.com/");//向ComboBox控件中添加网址“http://www.baidu.com/”
            cbox_Url.Items.Add("http://www.sina.com.cn/");//向ComboBox控件中添加网址“http://www.sina.com.cn/”
            cbox_Url.Items.Add("http://www.163.com/");//向ComboBox控件中添加网址“http://www.163.com/”
            cbox_Url.Items.Add("http://www.qq.com/");//向ComboBox控件中添加网址“http://www.qq.com/”
        }

        private void cbox_Url_TextChanged(object sender, EventArgs e)
        {
            if (State)//当变量的值为真时
            {
                string importText = cbox_Url.Text;//获得输入的文本
                int index = cbox_Url.FindString(importText);//在ComboBox集合中查找匹配的文本
                if (index >= 0)//当有查找结果时 
                {
                    State = false;//关闭编辑状态
                    cbox_Url.SelectedIndex = index;//找到对应项
                    State = true;//打开编辑状态
                    cbox_Url.Select(importText.Length, cbox_Url.Text.Length);//设定文本的选择长度
                }
            }
        }

        private void cbox_Url_KeyDown(object sender, KeyEventArgs e)
        {
            State = (e.KeyCode != Keys.Back && e.KeyCode != Keys.Delete);//当按键既不是Back键又不是Delete键时
            cbox_Url.DroppedDown = true;//当有按键被按下时显示下拉列表
        }

    }

 关键技术

  1. FindString方法

可以方便的查询数据项集合中指定的数据项的索引。

语法格式:

Publicint FindString(string s)

参数说明

  1. s:将要搜索的字符串对象

  2. 返回值:返回整形数值,找到第一个项从零开始的索引,如果未找到匹配项则返回-1.

  1. Select方法

    可以选择ComboBox可编辑部分中的文本范围

    语法格式

    Publicvoid Select(int startint length)

    参数说明

  1. start:整形数值,文本框中当前选定文本的第一个字符的位置。

  2. length:整形数值,要选择的字符数。

 

小结:

  以上就是用到的全部技术,虽然比不上百度关键字检索的高大上,但至少可以为我们提供一些便利。

 

 

   

 

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值