VB.NET - RichTextBox - Aplicar formatação ao texto selecionado
-
01-07-2019 - |
Pergunta
Eu tenho um RichTextBox controle no meu formulário. Eu também tenho esse botão, rotulado negrito , que eu quero, se alguém seleciona texto no RichTextBox , em seguida, pressiona o botão, o texto selecionado fica em negrito. Qualquer maneira de fazer isso? Simples, tarefa diária para os usuários finais. Obrigado.
Solução
Uma variação no exposto que leva em consideração a mudança ousada on / off, dependendo do texto selecionado atualmente informações de fonte:
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
Pode precisar limpar um pouco, eu puxei este a partir de um projeto antigo.
Outras dicas
Você vai querer usar a propriedade .SelectionFont do RichTextBox e atribuir-lhe um objeto Font com os estilos desejados.
Exemplo - este código seria no manipulador de eventos para o botão:
Dim bfont As New Font(RichTextBoxFoo.Font, FontStyle.Bold)
RichTextBoxFoo.SelectionFont = bfont