在richtextbox中加粗字符串的一部分

时间:2016-04-19 07:13:19

标签: c# winforms visual-studio

我正在尝试 BOLD RichTextBox中字符串的一部分。基本上它现在看起来像这样:

Okl-24-220-20-10.56

最后一位数10.56代表具体计算的平方米。我想要 BOLD 。这些数字然后用于生成条形码,所以我希望通过这样做,条形码也会将此10.56显示为粗体文本。

我想在摘要RichTextBox

中使用它
var sb = new StringBuilder();
sb.Append(@"{\rtf1\ansi");
sb.Append(@"\b amount: \b0 ");
sb.Append((txtAmount.Text);
sb.Append(@" \line ");
sb.Append(@"\b length: \b0 ");
sb.Append(txtLength.Text);
sb.Append(@" \line ");
sb.Append(@"\b width: \b0 ");
sb.Append(txtWidth.Text);
sb.Append(@" \line ");
sb.Append(@"\b total: \b0 ");
sb.Append(txtTotal.Text);
sb.Append(@" \line \line ");
sb.Append(@"}");

rtxtRequest.Rtf = sb.ToString();

Desired output

[Desired output[2]

2 个答案:

答案 0 :(得分:2)

我不是100%确定您为生成RTF而显示的代码是什么(因为它没有显示在您的屏幕截图上),但我猜您可以执行以下操作:

var rtf = $@"{{\rtf1\ansi Okl-{txtAmount.Text}-{txtLength.Text}-{txtWidth.Text}-\b {txtTotal.Text}\b0}}";
displayRichTextBox.Rtf = rtf;

我刚刚测试了以防万一:

enter image description here

这是你想要的吗?

请注意,根据条形码生成技术,它可能会或可能不会显示为粗体。

答案 1 :(得分:1)

如果行长度相同,或者您可以轻松解析它们,RichTextBox允许您选择行的一部分并更改其样式。

首先调用Select(),然后使用SelectionFont将片段设为粗体。 MSDN示例应足以让您入门。