-1

我编写了一个代码,在运行时将一些项目添加到列表框中,现在我无法弄清楚如何访问这些项目的属性(特别是 FontSize)。

这里有一些代码

 for (int i = 0; i < list.Count; i++)
      {
          trainerRoutine Item = list[i];
          routines_lst.Items.Add(Item.name);
      }
4

2 回答 2

2

很难看出“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 文章中有一个很好的例子。

于 2012-04-08T22:11:32.440 回答
0

考虑到ListBox你添加了一个类似的项目Item.Name,我想它是一个简单的字符串,我会说对于Font属性你不应该在项目内部而是在ListBox自身内部。

于 2012-04-08T22:07:42.940 回答