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 № 1Moż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);