Pour un System.Windows.Forms.Label
, existe-t-il un moyen d'ajuster automatiquement la taille de la police de l'étiquette en fonction de la taille de l'étiquette?Taille de police de l'étiquette AutoFit
2
A
Répondre
3
class AutoFontLabel : Label
{
public AutoFontLabel()
: base()
{
this.AutoEllipsis = true;
}
protected override void OnPaddingChanged(EventArgs e)
{
UpdateFontSize();
base.OnPaddingChanged(e);
}
protected override void OnResize(EventArgs e)
{
UpdateFontSize();
base.OnResize(e);
}
private void UpdateFontSize()
{
int textHeight = this.ClientRectangle.Height
- this.Padding.Top - this.Padding.Bottom;
if (textHeight > 0)
{
this.Font = new Font(this.Font.FontFamily,
textHeight, GraphicsUnit.Pixel);
}
}
}
Merci à AMissico qui a mis à jour le contrôle pour gérer le remplissage. Nous pouvons voir comment modifier le Padding et TextAlign sont affectés dans le concepteur.
0
Je pense que vous devez remplacer la méthode de peinture pour résoudre ce problème et peindre sur votre propre texte. Mais vous devrez utiliser la méthode MeasureString de GDI + pour obtenir la taille du texte, donc la routine qui vous indiquera la taille de police correcte fonctionnera par tâtonnement.
+0
Je pensais plutôt à un truc avec label.OnResize + label.Font = quelque chose – serhio
Questions connexes
- 1. Couleur de police, taille, changement de police
- 2. Taille de police UIBarButton
- 3. Javascript qui définit automatiquement la taille de la police sur l'élément afin que le texte ne déborde pas? (autofit)
- 4. gltext screensaver taille de police
- 5. jQuery Taille de police CSS
- 6. Taille de police globale WPF
- 7. fullCalendar Taille de la police
- 8. Taille de police sur Winforms
- 9. Police et unité de taille de police pour les smartphones
- 10. comment définir la police familiale de taille de la police
- 11. Taille de police de l'étiquette de facette
- 12. Incrément de taille de police CSS - proportionnel?
- 13. Taille de police CSS - Utilisation de "/"
- 14. Problèmes de taille de police sIFR
- 15. Modifier la taille de police de UISegmentedControl
- 16. Taille de la police de cellule UITableView
- 17. Conversion entre taille de police WPF et taille de police "standard"
- 18. Taille de police fixe dans firefox?
- 19. Taille de police limitée et execCommand
- 20. Taille de police maximale pour sIFR
- 21. Taille de la police Articles QComboBox?
- 22. HTML Taille de la police JavaScript changements
- 23. Changer la taille de police macvim?
- 24. Taille de la police dans TextView
- 25. iphone - calculer la taille de la police
- 26. Supprimer la taille de police dans TinyMCE
- 27. définir la taille de police dans jquery
- 28. Diminution TabbarItem Titre Taille police
- 29. Modification de la taille de police de pdfptable
- 30. Modification de la taille de la police de tabulation
Pourquoi la multiplication supplémentaire avec 1f? Un casting ne sera-t-il pas plus rapide/plus propre? (Ce n'est pas important) – AMissico
Est-ce que cela provoque un redimensionnement d'étiquette supplémentaire parce que vous changez la police dans OnResize? – AMissico
non, j'ai essayé, ne provoque pas une étiquette supplémentaire resieze; La base OnResieze est définie après. – serhio