• [Bug] .NET 2.0 的Bug —— ComboBox中不能添加Component.


    按照ComboBox的设计,我们可以在ComboBoxItemCollection中添加任何对象。同时,ComboBox使用DisplayMember属性来决定在列表中如何显示这些对象。

    例如:下面的语句可以将几个TextBox的Text显示在ComboBox的DropDown列表中。

    public void AddItem()
    {
        comboBox1.Items.Add(
    this._textBox1);
        comboBox1.Items.Add(
    this._textBox2);
        comboBox1.Items.Add(
    this._textBox3);
        comboBox1.DisplayMember 
    = "Text";
    }

    同时,当我们访问ComboBox的SelectedItem。返回TextBox对象。利用这个特性,我们可以简化很多的代码。按照微软的设计,如果DisplayMember没有指定,将会调用对象的ToString方法,将返回值作为显示字符串。Ok,很清晰。

    但是在.NET 2.0中,如果你将上面Code中的最后一行删除,将会发现ComboBox中的所有项目都显示为一个空字符串。也就是没有调用ToString方法。

    这个问题仅仅出现在所添加的对象是一个Component(继承自System.ComponentModel.Component)的时候。否则,一切正常。

    不知道微软在搞什么?各位在做开发的时候还是要注意回避了。
  • 相关阅读:
    元素定位8种方法
    excel做数据驱动
    selenium colse()与quit()方法的区别
    flask 获取request参数的几种形式
    hdu1272
    土地征用
    任务安排
    征途
    锯木厂选址
    特别行动队
  • 原文地址:https://www.cnblogs.com/Cajon/p/316841.html
Copyright © 2020-2023  润新知