/ / Rendere il testo specifico in grassetto in una stringa in Windows Forms C # - c #, colori, casella di testo, formattazione, casella di testo

Rendere il testo specifico grassetto in una stringa in C # Windows Forms - c #, colori, casella di testo, formattazione, richtextbox

Voglio rendere parte del testo in grassetto in una casella di testo, ad esempio la casella di testo contiene.

"Questa è una casella di testo"

Quindi sarà "Questo è una casella di testo "

Come posso farlo in Windows Forms C #?

risposte:

1 per risposta № 1

Puoi farlo con l'aiuto della classe FontStyle. basta aggiungere un pulsante nel modulo e denominarlo grassetto e creare un evento clic per quello. Devi usare Rich textbox per questo, non puoi farlo con textbox. Questo codice converte il testo selezionato in grassetto.

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 per risposta № 2

Non è possibile farlo in un controllo TextBox standard, è necessario utilizzare un controllo RichTextBox con una formattazione appropriata.


0 per risposta № 3

Per essere chiari, non puoi farlo in a TextBox. Usare un RichTextBox.

In un RichTextBox, iniziare selezionando il testo desiderato impostando il SelectionStart e il SelectionLength proprietà o consentire all'utente di selezionare il testo in modo interattivo. Quindi applicare una formattazione impostando uno dei Selection... proprietà:

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