黑马程序员技术交流社区

标题: 省市选择时,为什么要定义这个,有什么用呢? [打印本页]

作者: 王龙喜    时间: 2012-8-28 14:45
标题: 省市选择时,为什么要定义这个,有什么用呢?
     {
             //(这里为什么要加上ProvinceItem????)
            ProvinceItem item = (ProvinceItem)cmb省.SelectedItem;
            int proID = item.Id;

     ……
     }
          //  定义这个类有什么作用呢?
      class ProvinceItem
        {
            public string Name { get; set; }
            public int Id { get; set; }
        }


希望有人可以给我解答上面的两个问题,谢谢啦。

作者: 许庭洲    时间: 2012-8-28 14:56
加上ProvinceItem是为了将每次从省表中读取到某一个省,就创建一个ProvinceItem类来封装省的信息,然后将其添加到显示省的comboBox中。
作者: 冯雅伦    时间: 2012-8-28 15:09
1.你这个程序Item是不是ComboBox的Item
ComboBox有两个重要的属性,Displaymember和value,一个是展示字段。一个是字段对应的值
向ComboBox中添加Item时,可以添加object类型,或者一个实例对象。
所以需要将添加的数据进行对象实例化,方便让comboBox进行选择
2.selectItem返回类型是object的对象,通过类型转化我们才能拿到我们自己建立的类型对象,从而才可以找到其对应的属性进行操作

本人基础不是很扎实,可能语言,叙述,专业术语上面有些问题,但大体意思是这么个意思,你自己看着理解吧。哈哈

作者: 王龙喜    时间: 2012-8-28 15:42
许庭洲 发表于 2012-8-28 14:56
加上ProvinceItem是为了将每次从省表中读取到某一个省,就创建一个ProvinceItem类来封装省的信息,然后将其 ...

嗯,谢谢了,不过不是太明白我第一个问题里 为什么要在(ProvinceItem)cmb省.SelectedItem; 这里加上(ProvinceItem)呢?
作者: hehe04    时间: 2012-8-28 21:47
王龙喜 发表于 2012-8-28 15:42
嗯,谢谢了,不过不是太明白我第一个问题里 为什么要在(ProvinceItem)cmb省.SelectedItem; 这里加上(Prov ...

cmb省.SelectedItem并不是(ProvinceItem)类,因此 在赋值给 ProvinceItem 的对象时 必须显式的转换为ProvinceItem类型。就像 这样
string a="21";
int  b=(int)a;
作者: 资建文    时间: 2012-8-28 23:17
这个的研究下




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