-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 コレクションに入れています。面倒だ、その文字列から元のオブジェクトにそう簡単には戻れない。必須ではありません。アイテムを追加するだけです。やらなければならないことの 1 つは、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 に答える