黑马程序员技术交流社区

标题: 怎么给combox设置一个不会清掉的初始值 [打印本页]

作者: dqzg12300    时间: 2012-10-27 09:24
标题: 怎么给combox设置一个不会清掉的初始值
比如一个combox。是选择省份,另外一个combox是选择城市,我想给他们各设置一个初始值,请选择省份和请选择城市。但是选择城市的combox·在每次省份更改的时候·都要清空一下所有数据,再重新遍历加载新的城市。我之前的做法是city.Items.Clear();city.Items.Add("请选择城市");city.selectIndex=0;清空后再重新设定然后再把这个值默认为显示的。有办法可以使clear()不清空第一条数据么,或者说不清空指定的数据
作者: 欧玉斌    时间: 2012-10-27 11:08
亚金你问题还真多啊。clear是清除全部用的,如果是清除一行要用remove(根据内容清)或removeAt(根据索引清)。
比如要清除combox1里第二项开始的元素,可以用:
  1. //方法1:通过循环清除combox1第二项以后的内容
  2. //combox1在设计模式编辑项中添加了1、2、3等元素
  3. //特别注意不能使用i++,因为每次循环comboBox1清除一项后,另一项会往上移动
  4. for (int i = 1; i < comboBox1.Items.Count; )
  5. {
  6. comboBox1.Items.RemoveAt(i);
  7. //这样的结果是只保留1
  8. }
复制代码
不过这个只是提供一种删除项的思路,实际上,如果想保留请选择城市,只需把combox的text设置为请选择城市即可。
  1. //方法2:直接设置text属性,因为clear只清除项,不清楚text
  2. comboBox1.Items.Clear();
复制代码
而不是用设置请选择城市为默认显示项的方式。你拿代码测试一下。


作者: dqzg12300    时间: 2012-10-27 11:12
{:soso_e106:}问题多一点。但都是小问题嘛。大问题就百度去了
作者: 郑鹏    时间: 2012-10-27 12:12
恩呵呵学习了!我再补充一点,让人容易错的,如果要清空选项的话,注意需要倒着删,这样就完美了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2