我编写了一个代码,在运行时将一些项目添加到列表框中,现在我无法弄清楚如何访问这些项目的属性(特别是 FontSize)。
这里有一些代码
for (int i = 0; i < list.Count; i++)
{
trainerRoutine Item = list[i];
routines_lst.Items.Add(Item.name);
}
很难看出“trainerRoutine”可能与 FontSize 有什么关系。通常,ListBox 存储对象。您正在使用 Item.name 将字符串放入 Items 集合中。这很麻烦,你不能轻易地从那个字符串返回到原始对象。而且也不是必须的,添加Item即可。您必须做的一件事是重写 Item 类的 ToString() 方法,这就是 ListBox 用来生成可读字符串的方法。所以:
class DontKnowWhat {
// properties and methods
//...
public override string ToString() {
return name;
}
}
现在,您可以通过将原始对象强制转换为 DontKnowWhat 来简单地从 ListBox.Items 集合中取回原始对象。
以防万一您正在谈论更改项目的字体大小,水晶球解释编号 2,这需要将 ListBox 的 DrawMode 属性设置为 DrawMode.OwnerDrawVariable。在 MSDN 文章中有一个很好的例子。
考虑到ListBox
你添加了一个类似的项目Item.Name
,我想它是一个简单的字符串,我会说对于Font
属性你不应该在项目内部而是在ListBox
自身内部。