回 帖 发 新 帖 刷新版面

主题:C#初学者:如何去除这些命名空间

class PeopleClass
    {
        public string m_Name;
        public string m_Sex;
        public string m_Phone;
        public PeopleClass(string name, string sex, string phone)
        {
            m_Name = name;
            m_Sex = sex;
            m_Phone = phone;
        }
        public override string ToString()
        {
            return "name:" + this.m_Name + "  sex:" + this.m_Sex + "  phone:" + this.m_Phone;
        }
    }
}

在Form的代码中在ListBox控件中添加  lst1.Items.Add(tmp.ToString());(tmp是PeolpleClass类型的)为什么前面会显示一大串,比如name:System.Windows.Forms.TextBox, Text:abc......
((((System.Windows.Forms.TextBox, Text这些是什么,怎么去掉))))

回复列表 (共4个回复)

沙发

你是不是这么new的

new PeopleClass(txtName.ToString(), txtSex.ToString(), txtPhone.ToString());

正确的取TextBox其中内容的方法是TextBox.Text,也就是

new PeopleClass(txtName.Text, txtSex.Text, txtPhone.Text);

板凳

能解释一下吗?谢谢!

3 楼

你在文件头using System.Windows.Forms;就好了

4 楼

txtName.ToString()是并不是取TextBox的内容,txtName.Text才是。
TextBox的ToString方法返回的字符串描述的是整个TextBox对象的信息,自然是有类型相关信息的。

我来回复

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