欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > asp.net >内容正文

asp.net

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

发布时间:2025/3/15 asp.net 39 豆豆
生活随笔 收集整理的这篇文章主要介绍了 [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)的时候。否则,一切正常。

不知道微软在搞什么?各位在做开发的时候还是要注意回避了。

转载于:https://www.cnblogs.com/Cajon/archive/2006/01/13/316841.html

总结

以上是生活随笔为你收集整理的[Bug] .NET 2.0 的Bug —— ComboBox中不能添加Component.的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。