C#如何判断列表框有无重复的项目---唐寒枫.doc_第1页
C#如何判断列表框有无重复的项目---唐寒枫.doc_第2页
C#如何判断列表框有无重复的项目---唐寒枫.doc_第3页
C#如何判断列表框有无重复的项目---唐寒枫.doc_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C#如何判断列表框有无重复的项目 | 唐寒枫C#如何判断列表框有无重复的项目2013年11月27日 星期三 大家刚开始学习listbox控件的时候可能会遇到一个问题,就是已经学会对列表框进行增删改了,但是对于“增”这一项遇到了一点麻烦,什么麻烦呢?当我们不做过多的操作进行列表框内容添加时往往会插入一些重复值,但是我们又不想插入重复值,我们想列表框里面的内容是独一无二的,但是又不知道怎么去做,现在我们来实现一下:目标功能:对列表框进行内容添加,当插入的内容在列表框中已经存在时不允许插入,并给出相应的提示;当插入的内容在列表框中没有时便插入内容。目标分析:我们首先要确定的一点是必须得有一个判断语句,用来判断要插入的和列表框里面的内容是否重复;因为列表框里面不一定只有一个内容,可能有多个,所以我们应该逐一判断,既然是逐一,那我们就应该借助于循环语句实现。好了,判断语句、循环语句就是我们所利用的核心。目标准备:首先看一下软件运行效果图:添加以下控件控件名NameTextListBoxListtextBox默认值ButtonButton1默认值添加Button2默认值删除Button3默认值清空Button4默认值Button5默认值(PS:在这里先说一下,实现这种功能在C#里面有两种方法,一种是我们自己写算法,一种是直接利用C#提供的方法,毋庸置疑,第二肯定是简单的。所以我们把这两种方法都实现一下,首先我们先看看我们自己写算法怎么实现)定义好控件属性,布置好界面之后我们开始写代码:private void button1_Click(object sender, EventArgs e) /添加项目 #region if (textBox1.Text = ) MessageBox.Show(还未输入要添加的内容,该操作不能执行, 友情提示, MessageBoxButtons.OK, MessageBoxIcon.Information); textBox1.Focus();/提示完之后接着文本框获取焦点,方便用户操作 else if (list.Items.Count = 0) /如果列表框里面没有任何内容,此时直接添加 list.Items.Add(textBox1.Text); textBox1.Text = ; textBox1.Focus(); else #endregion for (int i = 0; i = list.Items.Count ; i+) if (textBox1.Text = list.Itemsi.ToString()/将输入的的内容和列表框原有内容进行判断 MessageBox.Show(已经有相同的内容了,友情提示,MessageBoxButtons.OK,MessageBoxIcon.Information); textBox1.Text = ; textBox1.Focus(); break; else if (i = list.Items.Count - 1) /这一步很关键,如果不加这一个判断会导致重复添加一些不必要的内容。 这一步就是为了判断是否遍历了所有内容,因为list.Itemsi是从零开始的,也就是说它的实际判断个数要比count统计的个数少1,所以在这里要减去1 list.Items.Add(textBox1.Text); textBox1.Text = ; textBox1.Focus(); break; private void button2_Click(object sender, EventArgs e) /删除选中项 /这里也应该添加一个判断,防止用户还未添加任何内容就点击删除 if(list.Text=)/如果列表框开始运行没有内容时,进行判断 MessageBox.Show(还没有选中要删除的项目或者还没有添加任何内容,不能执行删除, 友情提示, MessageBoxButtons.OK, MessageBoxIcon.Information); else list.Items.RemoveAt(list.SelectedIndex); private void button4_Click(object sender, EventArgs e) if (list.SelectedIndex = 0 | this.list.Text=) /判断是否到达最上面,另外还要检查列表框里面是否有内容,否则也会报错 MessageBox.Show(已经上最上面一项或者还没有添加任何内容, 友情提示, MessageBoxButtons.OK, MessageBoxIcon.Information); else list.SelectedIndex -= 1; private void button5_Click(object sender, EventArgs e) if (list.SelectedIndex = list.Items.Count - 1) MessageBox.Show(已经是最后一项了,不能继续了, 友情提示, MessageBoxButtons.OK, MessageBoxIcon.Information); else list.SelectedIndex += 1; private void button3_Click(object sender, EventArgs e) /清空列表框 list.Items.Clear(); 运行测试:以上就是我们自己写的算法,现在我们看看C#提供的方法:/ /这也是判断插入的项是否已经存在,这是C#自带的一个方法 private void button6_Click(object sender, EventArgs e) if (list.Items.Contains(textBox1.Text) = false) list.Items.Add(textBox1.Text); 从中可以看出,我们就死利用了一个“Contains”方法,它的作用就是:确定指定的项是否位于集合内ok,第二种方法完成!看完之后你是不是顿时有吐血的感觉?就这么点代码?没错,就这些,剩下的功能根据自己的需要去写吧。从这里也可以看出,C#集成度相当的高,一些常用的算法已经事先帮你写好了,我们只需要调用即可,提高了工作效率。但是本人还是

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论