VB.NET - RichTextBox - Aplicar formato al texto seleccionado
-
01-07-2019 - |
Pregunta
tengo un Cuadro de texto enriquecido control en mi formulario.También tengo este botón, etiquetado Atrevido, que quiero, si alguien selecciona texto en el Cuadro de texto enriquecido, luego presiona el botón, el texto seleccionado se vuelve negrita. ¿Alguna forma de hacer esto?Tarea sencilla y cotidiana para los usuarios finales.Gracias.
Solución
Una variación de lo anterior que tiene en cuenta activar/desactivar la negrita según la información de fuente del texto seleccionado actualmente:
With Me.rtbDoc
If .SelectionFont IsNot Nothing Then
Dim currentFont As System.Drawing.Font = .SelectionFont
Dim newFontStyle As System.Drawing.FontStyle
If .SelectionFont.Bold = True Then
newFontStyle = currentFont.Style - Drawing.FontStyle.Bold
Else
newFontStyle = currentFont.Style + Drawing.FontStyle.Bold
End If
.SelectionFont = New Drawing.Font(currentFont.FontFamily, currentFont.Size, newFontStyle)
End If
End With
Es posible que sea necesario limpiarlo un poco; lo saqué de un proyecto anterior.
Otros consejos
Querrá utilizar la propiedad .SelectionFont de RichTextBox y asignarle un objeto Font con los estilos deseados.
Ejemplo: este código estaría en el controlador de eventos del botón:
Dim bfont As New Font(RichTextBoxFoo.Font, FontStyle.Bold)
RichTextBoxFoo.SelectionFont = bfont