library - windows forms c# draw line
Graphics.DrawString cortar a mitad de palabra (2)
He creado un control de usuario que es básicamente un botón con algunas características pequeñas y agradables.
Una de esas características es que determina el tamaño de fuente más grande posible para el texto, mientras mantiene el texto dentro de los límites del cuadro.
Esto funciona bien en la mayoría de los casos, pero a veces corta una palabra a la mitad para que quepa.
Entonces podría aparecer como ...
stackov
erflow
Más bien que
stackoverflow
(pero en una fuente más pequeña)
Pensé que habría sido un StringFormatFlag para permitirme especificar cómo se hace el ajuste de palabras.
Quiero envoltura de palabras, pero no envoltura de ''personaje''.
Gracias Rich.
Puede intentar usar TextRenderer en su lugar:
TextRenderer.DrawText(e.Graphics,
"",
this.Font,
new Rectangle(10, 10, 32, 32),
Color.Black,
Color.Empty,
TextFormatFlags.WordBreak | TextFormatFlags.VerticalCenter | TextFormatFlags.HorizontalCenter);
TextRenderer.DrawText(e.Graphics,
"",
this.Font,
new Rectangle(50, 10, 32, 32),
Color.Black,
Color.Empty,
TextFormatFlags.WordBreak | TextFormatFlags.VerticalCenter | TextFormatFlags.HorizontalCenter);
Debe especificar StringFormatFlags .NoWrap al rellenar la propiedad StringFormat.FormatFlags . Luego use una de las sobrecargas de DrawString que acepte una clase StringFormat. Uno de los siguientes tres métodos:
DrawString (String, Font, Brush, PointF, StringFormat)
DrawString (String, Font, Brush, RectangleF, StringFormat)
DrawString (String, Font, Brush, Single, Single, StringFormat)