gpt4 book ai didi

vb.net - 多色 RichTextBox

转载 作者:行者123 更新时间:2023-12-03 02:10:45 25 4
gpt4 key购买 nike

我想在我的 Richtextbox 多色中制作一行文本。我尝试了网络上提供的各种实现,并阅读了 SelectedText 和其他主题,但似乎无法让它按照我想要的方式工作。

这是我到目前为止所拥有的

RichTextBox1.Text = "This is black "
RichTextBox1.SelectionFont = New Font("Microsoft Sans Serif", 8.25, FontStyle.Bold)
RichTextBox1.SelectionColor = Color.Green
RichTextBox1.SelectedText = "[BOLD GREEN]"
RichTextBox1.Text = RichTextBox1.Text + " black again"

我想要的颜色已在文字中注明。发生的情况是:整行变成绿色,“[BOLD GREEN]”出现在文本框的开头而不是内联。

我希望它读起来像这样:“这是黑色的”黑色。 “[BOLD GREEN]”为绿色,“black Again”为黑色。

最佳答案

目前还不清楚您想要实现什么目标。我不确定我对括号格式的理解是否和对您在“画图”中模拟的图像的理解一样好。但无论如何……

我怀疑您现有的代码存在一些问题。首先是插入新文本时光标的位置。由于插入标记所在的位置,应该出现在第一个片段之后的内容实际上被插入在它之前。要解决这个问题,您需要手动移动它。

您还向代码末尾的 Text 属性分配了一个文本字符串,这不会保留现有的格式信息。我怀疑您要做的最简单的事情就是使用 AppendText method ,相反。

最后,我建议使用 simpler overload创建新字体,因为您唯一想要更改的是样式。使用它的优点是,您不必在代码中对字体的名称和大小进行硬编码,以防以后想要更改。

尝试将代码重写为:

' Insert first snippet of text, with default formatting
RichTextBox1.Text = "This is black "

' Move the insertion point to the end of the line
RichTextBox1.Select(RichTextBox1.TextLength, 0)

'Set the formatting and insert the second snippet of text
RichTextBox1.SelectionFont = New Font(RichTextBox1.Font, FontStyle.Bold)
RichTextBox1.SelectionColor = Color.Green
RichTextBox1.AppendText("[BOLD GREEN]")

' Revert the formatting back to the defaults, and add the third snippet of text
RichTextBox1.SelectionFont = RichTextBox1.Font
RichTextBox1.SelectionColor = RichTextBox1.ForeColor
RichTextBox1.AppendText(" black again")

结果将如下所示:

    sample RichTextBox with formatted text

关于vb.net - 多色 RichTextBox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5399208/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com