Programmgesteuertes Hinzufügen von Label zu Windows Form (Länge des Labels?)

8

In meinem Code erstelle ich ein Label mit folgendem Inhalt:

%Vor%

Die Zeichenfolge namens name ist vorher definiert und hat eine Länge von etwa 50 Zeichen. Jedoch werden nur die ersten 15 in dem Etikett auf meinem Formular angezeigt. Ich habe versucht, mit der MaximumSize des Labels zu spielen, aber ohne Erfolg.

    
Wilson 18.07.2012, 22:07
quelle

4 Antworten

9

Fügen Sie die AutoSize-Eigenschaft hinzu:

%Vor%

Wenn Sie ein Label in einem Formular mit dem Design-Editor platzieren, wird diese Eigenschaft standardmäßig auf "true" gesetzt, aber wenn Sie das Label wie gewohnt in Code erstellen, lautet der Standardwert "false".

    
LarsTech 18.07.2012, 22:09
quelle
3

Versuchen Sie die Eigenschaft AutoSize = true;

MSDN-Referenzen

Eine andere Möglichkeit ist die Verwendung der MeasureString-Methode der Graphics-Klasse

%Vor%     
Steve 18.07.2012 22:09
quelle
1

Sie können die Eigenschaft Label.AutoSize verwenden, um die Breite des Etiketts automatisch so anzupassen, dass alle in Label.Text gespeicherten Inhalte korrekt angezeigt werden.

Erwähnenswert ist, dass diese Eigenschaft beim Erstellen des Labels mit dem Designeditor standardmäßig true lautet. Wenn Sie jedoch programmatisch eine Beschriftung erstellen, wird die Eigenschaft standardmäßig auf false gesetzt .

%Vor%

Natürlich können Sie die Breite Ihres Etiketts auch manuell einstellen, indem Sie etwas wie folgt verwenden, um die erforderliche Breite zu berechnen.

%Vor%

Dokumentation zur Verwendung von Label.AutoSize use finden Sie auf msdn :

Dokumentation zu Graphics.MeasureString finden Sie hier:

Filip Roséen - refp 18.07.2012 22:10
quelle
0
%Vor%     
Dipesh adhikari 15.11.2016 09:07
quelle