locked
FAQs: 怎么把一个业务对象添加到ListBox的条目集合中,并显示自己所期望的文本? RRS feed

  • 问题

  • 为了帮助大家更好地学习 .Net Framework 技术,微软论坛技术支持团队编辑了一些列的 ".Net Framework 常见问题及解答" 精华帖。

    本帖的主题是:怎么把一个业务对象添加到ListBox的条目集合中,并显示自己所期望的文本?

    如果您觉得这个帖子对您的学习、工作有所帮助,请再把这个帖子分享给你的同学、同事和朋友。

    如果您想阅读更多的 ".Net Framework 常见问题及解答",请打开索引页面:
    http://social.msdn.microsoft.com/Forums/zh-CN/2212/thread/f2a90155-c760-4d5d-ba2e-6b0e427cb6eb


    如果您对我们的论坛在线支持服务有任何的意见或建议,请通过邮件告诉我们。
    2011年2月15日 11:34

答案

  • 最常用的实现方法是把你的业务对象中对应的文本属性设置到DiaplayMember属性值中;第二种方法是使用一个TypeConverter类来转换你的业务对象,你需要去定义一个继承TypeConverter的类,重写其中ConverTo方法。请参考下面的例子:

    代码块:

    TypeConverter(typeof(BusinessTypeConvert))]

    Class BusinessObject

    {

     int id;

     

     publicint Id

     {

         get { return id; }

         set { id = value; }

    }

     

     string name;

     

     public string Name

     {

         get { return name; }

         set { name = value; }

      }

    }

     

    Class BusinessTypeConvert :TypeConverter

    {

     public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destinationType)

    {

        if (destinationType == typeof(string))

    {

                return ((BusinessObject)value).Name;

         }

     

         returnbase.ConvertTo(context, culture, value, destinationType);

      }

    }

     

    第三种选择是重写你的业务对象的ToString方法,在这个方法中返回你所期待的字符串。由于ToString方法经常用于返回许多关于类的信息,所以这种方法不推荐使用。


    如果您对我们的论坛在线支持服务有任何的意见或建议,请通过邮件告诉我们。
    2011年2月15日 11:34