c# 如何实现通过textbox 和 button快速查询 listbox 中的项

如图输入ID 点击查询 焦点直接跳到对应ID,下面是用到的类
http://pan.baidu.com/s/1dFbjsA1
管理员密码为111

第1个回答  2016-05-12

把项目放上来,可以帮你改改

 private void btnchaxun_Click(object sender, EventArgs e)

{

    for (int i = 0; i < lstTeacher.Items.Count; i++)

    {

        string s = lstTeacher.Items[i].ToString();

        if (s.Contains(txtchaxun.Text.Trim()))

        {

            lstTeacher.SelectedIndex = i;

            break;

        }

    }

}

第2个回答  2016-05-11
不难实现,遍历每一行,取出ID值,符合条件,将此行文本分割一下,完成。追问

如何将文本分割呢?findstring么?能给下具体代码么?

追答

每一行中我看到好像是用空格分隔开的,这样你把每一行的内容用空格分割一下,放到数组中,或者干脆定义个类,每一行都实例化一个对象。
遍历对象的ID属性就可以了,符合输入条件的,取其其它属性。
不难吧?
如有帮助请采纳哟~

追问

还是没懂..我把项目放在问题补充里了,大神能帮我看下么

追答        private void Form1_Load(object sender, EventArgs e)
        {
            //窗体加载时给listBox添加3行内容
            listBox1.Items.AddRange(new string[] { "ID:001  Name:Tom", "ID:002  Name:Jack", "ID:003  Name:Rose" });
        }

        private void button1_Click(object sender, EventArgs e)
        {
            int c = 0;    //计数器
            foreach (string s in listBox1.Items)
            {
                if (s.Substring(3, 3) == textBox1.Text)    //s.Substring(3,3)就是取的每一行后面的ID值
                {
                    //如果取出的ID跟输入的值相等,就选中第c行
                    listBox1.SelectedIndex = c;
                    //跳出遍历过程
                    break;
                }
                c++;
            }
        }

没有使用你的项目文件,我自己画了一个,跟你的情况是基本相同的,自己再琢磨一下,希望采纳。

本回答被提问者和网友采纳

vs C#中listbox 和一个textBox 动态窗体的实现!
第一种:直接向listbox中绑定两个值,显示的为DisplayMember,隐藏的为ValueMember。在执行MouseUp事件时,将ValueMember中的值赋给textbox就可以了。第二种:先利用textbox中的databindings.add将控件绑定到指定的datatable上,然后在mouseup事件中写下面这段代码就可以了。int i = listBox1.SelectedIndex;\/...

C#中checklistbox的用法
<asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" \/> <\/div> 后台:protected void Page_Load(object sender, EventArgs e){ if (!IsPostBack){ BindCKBoxList();} } static SqlConnection conn = new SqlConnection(@"server=;database=;uid=;pwd=;");p...

C#如何实现双击listview中的行,在另一个窗体中的textbox中显示这...
新窗体构造函数加string 参数 然后把参数的值赋给textbox listview 做双击事件, 调用新窗体。把listview1.selecteditems[0].text 当参数传给新窗体

求C#的listbox可以象textbox一样输入内容
--- 你放一个textbox控件,在它的后面放一个listbox空间;listbox空间中放置了出事默认的一组数字,用于选择。在listbox控件的选择时间变化事件中加入相应代码:如果listbox选择变化,那么textbox控件的值赋予listbox中对应选择的数字即可。textbox控件可以直接输入,也可以从listbox中选择输入。--- 参考...

C# 关于DropDownList与textbox的联动
<script type="text\/javascript"> $(document).ready(function () { \/\/gn是个textbox 里面存放 将要控制list显示的值 var gn = $("#gn").val(); \/\/根据gn 将list动态显示 $("#list").find("option[value='" + gn + "']").attr("selected", "selected"); \/\/...

ListBox中显示TextBox中的内容怎样实现
protected void Button1_Click(object sender, EventArgs e) { string msg = TextBox1.Text; foreach (ListItem xin in ListBox1.Items) { if (xin.Selected == true) { msg = xin.Text; } } TextBox1.Text = ""; ListBox1.Items.Add(msg); } ...

C#中只想把textbox里面输入的值加入到listbox里面
可以定义一个关系把textbox和listbox指定的行绑定起来.只不过要自己写代码 还是在changedtext事件上 比如textbox,第一次触发时 listbox直接添加text即可,同时记录这个位置,index_i 下次textbox触发这个事件,直接修改listbox的item[index_i]为textbox的text private void textBox1_TextChanged(object sender...

c#用button事件清除textbox的数据要怎么写代码?请高手指点~~!谢谢啦...
\/\/ 判断列表中不存在当前的数据内容 if(!this.listBox1.Items.Contains(this.textBox1.text)){ \/\/ 向listBox中插入数据 this.listBox1.Items.Add(this.textBox1.text);}

C#中ListBox控件如何实时显示ACCESS数据库表中某个字段对应的所有记录...
1.添加:点击添加按钮的时候调用NewData(this.textbox1.Text)方法;2.删除:点击删除按钮的时候调用DeleteData(this.pkid);\/\/pkid 是表的主键,通过双击listbox的item时获取;3.修改:首先在双击listbox的时候,获取到带有pkid的整条记录,然后将该记录的GroupNameSet内容赋值给textbox1.Text,然后可...

c#用button事件清除textbox的数据要怎么写代码?请高手指点~~!谢谢啦...
这个很简单啊,一条语句即可完成:textbox1.Text="";注意语句的标点符号一定要在英文状态下。

相似回答