/ / Pogrubienie określonego tekstu w ciągu w formularzach C # Windows Forms - c #, kolory, pole tekstowe, formatowanie, pole richtextbox

Dokonywanie pogrubionego tekstu w ciągu znaków w C # Windows Forms - c #, kolory, textbox, formatowanie, richtextbox

Chcę pogrubić część tekstu w polu tekstowym, na przykład zawiera pole tekstowe.

„To jest pole tekstowe”

Więc będzie to „To jest pole tekstowe ”

Jak mogę to zrobić w C # Windows Forms?

Odpowiedzi:

1 dla odpowiedzi № 1

Możesz to zrobić za pomocą klasy FontStyle. po prostu dodaj przycisk w formularzu i nazwij go Pogrubieniem i utwórz dla niego zdarzenie kliknięcia. W tym celu musisz użyć bogatego pola tekstowego, nie możesz tego zrobić za pomocą pola tekstowego. Ten kod przekonwertuje zaznaczony tekst na pogrubiony.

private void btnBold_Click(object sender, EventArgs e)
{
FontStyle style = tbMessage.SelectionFont.Style;
if (tbMessage.SelectionFont.Bold)
{
style = style & ~FontStyle.Bold;
btnBold.Font = new Font(btnBold.Font, FontStyle.Regular);
}
else
{
style = style | FontStyle.Bold;
btnBold.Font = new Font(btnBold.Font, FontStyle.Bold);
}
tbMessage.SelectionFont = new Font(tbMessage.SelectionFont, style);
tbMessage.Focus();

}

0 dla odpowiedzi nr 2

Nie możesz tego zrobić w standardowej kontrolce TextBox, musisz użyć kontrolki RichTextBox z odpowiednim formatowaniem.


0 dla odpowiedzi № 3

Żeby było jasne, nie możesz tego zrobić w TextBox. Użyć RichTextBox.

W RichTextBox, zacznij od wybrania żądanego tekstu poprzez ustawienie SelectionStart i SelectionLength właściwości lub pozwól użytkownikowi wybierać tekst interaktywnie. Następnie zastosuj formatowanie, ustawiając jedną z opcji Selection... nieruchomości:

richTextBox1.Text = "This is a text box";
richTextBox1.SelectionStart = 5;
richTextBox1.SelectionLength = 2;
richTextBox1.SelectionFont = new Font(richTextBox1.SelectionFont, FontStyle.Bold);