C# 如何在c中加粗传递到文本框中的字符串部分#

C# 如何在c中加粗传递到文本框中的字符串部分#,c#,winforms,C#,Winforms,我有一个字符串生成器,其中值在运行时通过占位符追加。添加字符串生成器后,它将被分配到一个文本框(不是rich txt)以显示在UI中 我希望文本的一部分是粗体的 sb.AppendFormat("Added {0} by {1}:\n{2}", DateTime.ToString(), userName, note); txt.Text = sb.ToString(); 预期产出: 由Vinoth于2016年1月9日晚上8:47:19添加:测试目的 我怎样才能做到这一点?在我想要加粗之前,是否

我有一个字符串生成器,其中值在运行时通过占位符追加。添加字符串生成器后,它将被分配到一个文本框(不是rich txt)以显示在UI中

我希望文本的一部分是粗体的

sb.AppendFormat("Added {0} by {1}:\n{2}", DateTime.ToString(), userName, note);
txt.Text = sb.ToString();
预期产出:

由Vinoth于2016年1月9日晚上8:47:19添加:测试目的


我怎样才能做到这一点?在我想要加粗之前,是否有循环使用带有
符号的单词?

您必须在部分中构建文本


可以作为不同的文本框/文本块,也可以作为一个单独的RichTextBox,为您想要的不同样式的部分单独运行。

您必须在部分中构建文本


可以作为不同的文本框/文本块,也可以作为一个单独的RichTextBox,为您想要的不同样式的部分单独运行。

文本框不支持这样的多种字体样式。您可以创建
TextBox
子类,覆盖
OnPaint
方法并手动绘制文本(
e.Graphics.DrawString(…)
)。或者您可以使用2个
文本框(一个粗体和一个普通)。或者更简单,使用
RichTextBox
。只需使用RichTextBox。它没有你想象的那么难。@MatthewWatson-你怎么知道他认为它难?文本框的可能副本不支持那样的多种字体样式。你可以创建
TextBox
子类,重写
OnPaint
方法并绘制文本一年一次(
e.Graphics.DrawString(…)
)。或者你可以使用2个
TextBox
(一个粗体和一个普通)。或者更简单,使用一个
RichTextBox
。只需使用一个RichTextBox。这并不像你想象的那么难。@MatthewWatson-你怎么知道他认为这很难?可能是重复的感谢你……为RTB做计划谢谢你……为RTB做计划