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