2009-05-20 20 views
0

Ich habe ein Label, dessen Inhalt durch eine While-Schleife angezeigt wird. Wenn ich einen Text im Etikett anzeigen, wird es korrekt angezeigt. Manchmal wird derselbe Text im selben Etikett angezeigt, und die Größe des Textes im Steuerelement ändert sich. HierEtikettengröße ändert sich

ist der Code:

//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++; 

    } 

} 

die Größe des Textes in der ersten Iteration (i = 0) unterscheidet sich von der Größe des Textes in der Label-Steuerelement in der zweiten Iteration.

+0

Was ist Ihre Frage? Ändert sich die Schriftgröße Ihres Labels unerwartet? Können Sie klarstellen, was Sie mit "irgendwann Minuten, der gleiche Text angezeigt" meinen? Auch das Posten Ihres Codes wäre hilfreich, um Ihre Frage zu beantworten. –

+0

Wir können wirklich nicht viel auf diesem einen ohne das relevante Codebeispiel tun, denke ich. –

Antwort

4

Möchten Sie nicht automatisch skalieren? Setzen Sie die Autosize-Eigenschaft auf false.

0

Ich würde nach etwas suchen woanders, die Eigenschaften auf dem Label4-Objekt geändert wurde.

Seitennotiz - sollten Sie wirklich einen Thread erzeugen und diesen Thread mit der Benutzeroberfläche verwirren? Chris Sells schrieb eine Reihe von Artikeln, in denen er erklärte, warum das eine schlechte Idee war.

+0

Ich kann meine Probleme immer noch nicht lösen. – Attilah

+0

Ich kopiere einfach deinen Code in eine Windows Forms App und meine Seitennotiz kommt ins Spiel: "Cross-Thread-Operation nicht gültig: Control 'Form1' von einem anderen Thread als dem Thread, auf dem es erstellt wurde. " Wenn Sie also keine zusätzlichen Informationen oder mehr Code oder * etwas * veröffentlichen können, die erklären, wie Sie diesen Fehler nicht erhalten, weiß ich nicht, wie ich Ihnen weiterhelfen kann. –