我想在文本框中将文本的一部分加粗,例如文本框包含。
"这是一个文本框"
所以它将是" 是一个文本框"
如何在C#Windows窗体中执行此操作?
答案 0 :(得分:1)
您可以在FontStyle类的帮助下完成此操作。 只需在表单中添加一个按钮并将其命名为Bold,然后为其创建一个click事件。 您必须使用Rich文本框,不能使用文本框。 此代码会将所选文本转换为粗体。
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();
}
答案 1 :(得分:0)
您无法在标准TextBox控件中执行此操作,您需要使用具有适当格式的RichTextBox控件。
答案 2 :(得分:0)
要明确,你不能在TextBox
中这样做。使用RichTextBox
。
在RichTextBox
中,首先选择所需文字,方法是设置SelectionStart
和SelectionLength
属性,或让用户以交互方式选择文字。然后通过设置Selection...
属性之一来应用格式:
richTextBox1.Text = "This is a text box";
richTextBox1.SelectionStart = 5;
richTextBox1.SelectionLength = 2;
richTextBox1.SelectionFont = new Font(richTextBox1.SelectionFont, FontStyle.Bold);