ここでは、C# のラベルの配列について多くの質問があることを知っていますが、私の質問は、ラベルの配列を作成する方法ではなく、ラベルの外観に関係しています。
これが私のコードの一部です(すべての静的値を無視してください):
for (int i = 0; i < 10; i++)
{
if (i % 2 == 0)
{
newsTitle = GetTagData(rootRss, "title", i + 2);
rssFeeds[i].Location = new Point(xPt, yPt);
rssFeeds[i].Font = new Font(rssFeeds[i].Font, FontStyle.Bold);
rssFeeds[i].Text = "\tTEST" + i + newsTitle;
}
else
{
newsDesc = GetTagData(rootRss, "description", i + 1);
rssFeeds[i].Location = new Point(xPt, yPt + 25);
rssFeeds[i].Font = new Font(rssFeeds[i].Font, FontStyle.Regular);
rssFeeds[i].Text = newsDesc;
yPt += 75;
}
//rssFeeds[i].MaximumSize = new Size(400, 400);
this.Controls.Add(rssFeeds[i]);
}
rssFeeds
ラベルをグローバルに作成Form.Load()
し、for ループを使用してすべてのラベルを作成しました。rssFeeds[i] = new Label();
ただし、フォームを実行して見ると、次のようになります。
'This is the f' 'This is the s' 'This is the t' 'This is the f' . . .
これではなく:
'This is the first line of data from the news headline today' 'This is the second line of data from the news headline today' 'This is the thrid line of data from the news headline today' 'This is the fourth line of data from the news headline today' . . .
ラベルのプロパティでフォーマットをいじりましたが、MaximumSize
間違っている可能性があります (上記のコードでコメントアウトされています)。テキストをメッセージボックスに出力すると、テキスト行全体が表示されるため、これが機能するはずです。
何かばかげたことを見逃しているのでしょうか、それともラベル配列を作成するために知っておくべきことが他にありますか?