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

来源:互联网 发布:mac系统删除应用程序 编辑:程序博客网 时间:2024/06/03 23:13


 

  前言

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

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

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



  窗体截图



 源代码

 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:整形数值,要选择的字符数。

 

小结:

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

 

 

   

 

1 0
原创粉丝点击