¿Es posible resaltar/seleccionar parte del texto en un control de etiqueta de Windows Form? Sé que es posible con el control RTFtextbox pero que usar ese control sería excesivo ya que necesito crear muchas instancias de la etiqueta.¿Es posible seleccionar texto en una etiqueta de formulario de Windows?
Respuesta
¿Es posible seleccionar texto en una etiqueta de formulario de Windows? - NO (al menos no es una forma fácil sin anular el método Label.Paint)
Puede cambiar fácilmente un cuadro de texto para este fin.
TextBox1.Text = "Hello, Select Me";
TextBox1.ReadOnly = true;
TextBox1.BorderStyle = 0;
TextBox1.BackColor = this.BackColor;
TextBox1.TabStop = false;
Do not believe? aquí hay un ejemplo para ti.
El problema con el que se puede encontrar es que si configura el texto de la caja de texto de forma dinámica, ocultará el texto si es más ancho que el cuadro de texto, a diferencia de la etiqueta. –
@TheMuffinMan tiene que establecer la propiedad «WordWrap» en «verdadero». –
Si es necesario, también puede establecer Multiline = True para poder cambiar la altura del TextBox. –
No, no es posible seleccionar texto en la etiqueta de Windows Form. En su lugar, puede utilizar un cuadro de texto de solo lectura para esto.
Utilice un TextBox
con BorderStyle
conjunto de None
y Readonly
conjunto de true
y Backcolor para que coincida con el contenedor.
No podrá resaltar parte del texto en una etiqueta. Sin embargo, puede usar una imagen y establecerla en la propiedad Label.Image si el texto para estas etiquetas es estático.
será es realmente difícil de implementar, además el texto es dinámico, por eso es necesario resaltar parte de él. – tunafish24
Como Bala R respondió:
"Utilizar un cuadro de texto con EstiloDeLosBordes establece en Ninguno y Sólo lectura establece en true y Backcolor para que coincida con el contenedor.".
Si la cadena de texto es muy largo, y el Width
del TextBox
no es suficiente para mostrar todo el texto, entonces se puede establecer la propiedad Width
del TextBox
para mostrar todo lo que es texto.
Si necesita saber el número correcto para Width
, puede utilizar el método MeasureString
de Graphics
para esto. Puede obtener la instancia del método CreateGraphics()
del Control
(TextBox
en este caso).
El primer parámetro es TextBox's Text, y el segundo parámetro es TextBox's Font. Esta función devuelve SizeF
struct. Solo necesita la propiedad Ancho, convertirlo a entero con (int)size.Width
o (int)Math.Round(size.Width)
.
No olvide llamar al método Dispose()
de la instancia de gráficos después, porque ya no lo necesitará.
Puede escribir su propia función que va a hacer todo este proceso:
static void SetText(TextBox textBox, string str)
{
Graphics graphics = textBox.CreateGraphics();
SizeF size = graphics.MeasureString(str, textBox.Font);
graphics.Dispose();
textBox.Width = (int)Math.Round(size.Width);
textBox.Text = str;
}
Si tiene un cuadro de texto de ancho fijo con el que desea dimensionar el alto con este código, consulte esta pregunta: https://stackoverflow.com/questions/29299297/measure-text-height-wrapped-in-a- ancho especificado – QuickDanger
- 1. ¿Es posible usar parámetros múltiples en el elemento? Etiqueta de un formulario: seleccionar/formulario: opción
- 2. NSTextField (Etiqueta) Texto atribuido: Seleccionar
- 3. ¿Es posible poner una lista dentro de una etiqueta span?
- 4. ¿Es posible alojar un formulario de Microsoft Access dentro de un formulario de .Net Windows?
- 5. Windows Forms: agregue una nueva línea a la etiqueta si el texto es demasiado largo
- 6. ¿Puede una Opción en una etiqueta Seleccionar transportar valores múltiples?
- 7. ¿Es posible seleccionar EXISTS() en JPQL?
- 8. Renderizar una jerarquía de "OPCIONES" en una etiqueta "SELECCIONAR"
- 9. ¿Es posible detener una etiqueta de script insertada dinámicamente?
- 10. carriles Seleccionar etiqueta de formulario - ¿Cómo agregar una opción predeterminada "Todos"?
- 11. Vertical Alinear texto en una etiqueta
- 12. ¿Es posible eliminar panel2 de SplitContainer en Windows Forms?
- 13. ¿Es posible teñir varias veces una etiqueta en Silverlight?
- 14. ¿Es posible insertar un formulario dentro de una tabla html?
- 15. ¿Es posible hacer una inicialización estática de mutexes en Windows?
- 16. griales g: Seleccionar etiqueta
- 17. Seleccionar texto en una columna de una tabla html
- 18. Use jQuery para seleccionar automáticamente el texto dentro de una etiqueta span al hacer clic en
- 19. symfony2 personalizar formulario seleccionar opciones
- 20. Problema con entrada y seleccionar altura de etiqueta en el formulario
- 21. Ocultar campo de texto y etiqueta asociado
- 22. XPath: seleccionar texto después de cierta etiqueta y antes mismo lado etiqueta
- 23. ¿Ingresa el símbolo "&" en una etiqueta de texto en Windows Forms?
- 24. ¿Por qué una etiqueta de entrada no está permitida directamente dentro de una etiqueta de formulario?
- 25. No es posible pegar caracteres chinos en el cuadro de texto de Windows Form
- 26. Obtener texto de etiqueta internacionalizado sin etiqueta envoltorio de etiqueta
- 27. Incrustar un Formulario de Windows en una aplicación WPF
- 28. seleccionar ... donde id = cualquier valor. ¿Es posible?
- 29. Formateo de texto en la etiqueta WinForm
- 30. Javascript: establecer texto de etiqueta
¿Qué quiere decir por "seleccionar"? ¿Quiere decir seleccionarlo por código para usar este texto después? – GianT971
sorry @ John ... al seleccionar Me refiero a la selección de texto, p. en RichTextBox puede usar las propiedades "SelectedText", etc. para seleccionar/resaltar una parte del texto completo. El efecto es similar a seleccionar/resaltar texto manualmente con el mouse. – tunafish24
Solo una idea: puede crear una clase derivada de Etiqueta en la que tenga alguna propiedad para almacenar el índice inicial y final del texto que se va a seleccionar, luego anulando el evento OnPaint puede resaltar texto dibujando un rectángulo semitransparente sobre él – Marco