回 帖 发 新 帖 刷新版面

主题:关于ListBox的奇怪问题。

我在WinForm下编程,想要ListBox能实现WEB下的name和value效果,于是我新建了一个类:
 class Item {
        private String text = "";
        private String value = "";
        private String property = "";

        public String Text {
            get {
                return text;
            }
            set {
                text = value;
            }
        }

        public String Value {
            get {
                return value;
            }
            set {
                this.value = value;
            }
        }

        public String Property {
            get {
                return property;
            }
            set {
                this.property = value;
            }
        }

        public override string ToString() {
            return this.text;
        }


然后在实现中:
if (ds.Tables["data"] != null) {
                foreach (DataRow dr in ds.Tables["data"].Rows) {
                    Item obj = new Item();
                    obj.Text = (String)dr["rpt_name"];
                    obj.Value = (String)dr["rpt_code"];
                    obj.Property = (String)dr["date_type"];
                    useredList.Items.Add(obj);
                }
            }

useredList就是listbox,添加完以后,我第一次在用的时候,程序如下:
  IEnumerator removeList = selectedList.Items.GetEnumerator();
            if (removeList != null) {
                removeList.Reset();
                while (removeList.MoveNext()) {
                    useredList.Items.Remove(removeList.Current);
                }
            }
这样做是可以删除相应的项,可是当我再次使用的时候,却不能删除了,明明useredList.items里有Item这个对象,可是却不能再删除。请求大家帮忙,这是什么原因。

回复列表 (共1个回复)

沙发

TextBox只接收obj.ToString()的结果
最好自己管理存储的内容,或者采用ListView

我来回复

您尚未登录,请登录后再回复。点此登录或注册