実行時にいくつかのアイテムをリストボックスに追加するコードを書きましたが、このアイテムのプロパティ (特に 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 コレクションに入れています。面倒だ、その文字列から元のオブジェクトにそう簡単には戻れない。必須ではありません。アイテムを追加するだけです。やらなければならないことの 1 つは、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
。