日期:2014-05-20  浏览次数:20764 次

关于textChanged事件,在文本框同时输入多个字符的触发
问题是:在文本框同时输入多个字符时,在下面方法里将第一个对话框代码注释掉,第二个保留,会出现在ListView控件中添加的信息重复添加问题,当把第一个对话框取消注释,程序正常运行。请问这是为什么?
[code=csharp]//在搜索文本框,值发生改变时触发,进行查询,并设置信息到lvBookList中
        private void txtSearchInfo_TextChanged(object sender, EventArgs e)
        {
//第一个对话框
            //MessageBox.Show("事件触发");

            this.lvBookList.Items.Clear();
            DataView searchBookInfoView =        txtTitleChangeBLL.getBookInfoDataSource(this.txtSearchInfo.Text);
//第二个对话框
            MessageBox.Show(searchBookInfoView.Count.ToString());

            int length = searchBookInfoView.Count;
//在ListView控件中添加的信息
            for (int i = 0; i < length; i++)
            {
                this.lvBookList.Items.Add(searchBookInfoView[i][1].ToString(), i);//图书编号
                this.lvBookList.Items[i].SubItems.Add(searchBookInfoView[i][0].ToString());
                this.lvBookList.Items[i].SubItems.Add(searchBookInfoView[i][2].ToString());
                this.lvBookList.Items[i].SubItems.Add(searchBookInfoView[i][3].ToString());
                this.lvBookList.Items[i].SubItems.Add(searchBookInfoView[i][4].ToString());
            }
        }
[/code]
listview 对话框

------解决方案--------------------
估计是类型的问题txtTitleChangeBLL.getBookInfoDataSource(this.txtSearchInfo.Text); 返回的是什么类型的