2009-05-20 8 views
0

私はラベルを持っていますが、内容はwhileループで表示されます。 ラベルにテキストを表示すると、正しく表示されます。同じラベルに同じテキストが表示され、コントロール内のテキストのサイズが変更されます。ここラベルサイズの変更

コードである:

//Form_Load : 

Thread t = new Thread(displaySentences); 
t.Start(); 


//display sentences: 
void displaySentences() 
{ 
    while(true) 
    { 
     if(i>=5) 
      i=0; 

     label4.Text = textarray[i]; 
     i++; 

    } 

} 

最初の反復(i = 0)内のテキストのサイズは、第2の反復のラベルコントロール内のテキストのサイズと異なります。

+0

あなたの質問は何ですか?ラベルのフォントサイズが予期せず変更されていますか? 「いつも分、同じテキストが表示される」という意味を明確にすることはできますか?あなたのコードを投稿すると、あなたの質問に答えるのにも役立ちます。 –

+0

私は実際には、関連するコードのサンプルがなければ、これで多くはできません。 –

答えて

4

自動サイジングはしたくないですか? autosizeプロパティをfalseに設定します。

0

私はlabel4オブジェクトのプロパティを変更していた場所を探していました。

サイドノート - 実際にスレッドを生成し、そのスレッドにUIを混乱させるべきですか? Chris Sellsは一連の記事を書いて、なぜこれが悪い考えであるか説明しました。

+0

私はまだ私の問題を解決することはできません。 – Attilah

+0

コードをコピーしてWindows Formsアプリケーションに貼り付け、私のサイドノートが再生されています: "クロススレッド操作が有効でない:コントロール 'Form1'が作成されたスレッド以外のスレッドからアクセスされました。 " このエラーが発生していない方法について説明している追加情報やその他のコード、または* something *を投稿できない限り、私はもうあなたを助ける方法がわかりません。 –

関連する問題