【问题标题】:RichTextBox in Visual StudioVisual Studio 中的 RichTextBox
【发布时间】:2017-07-08 08:30:35
【问题描述】:

我有一个关于 VS2010 富文本框的问题。

我在项目中有 RTB,并且我在 RTB 的每一行中都有任何舵机命令。 我从 RTB 中的线路发送伺服命令。我需要 RTB 中的突出显示(下划线、粗体、...随便)行,我从中发送伺服命令。

例如: 这是我的 RTB 中的行,现在我从第 5 行发送伺服命令。

11200

2 1400

3 1100

4 1300

5 1880

6 1400

7 1660

如何在 C# 中的 VS 中做到这一点?

非常感谢。

【问题讨论】:

  • 你尝试了吗?你看过方法 Select 和 GetFirstCharIndexFromLine 吗?
  • 您不应该使用用户界面元素来存储数据。相反,您应该有一个变量(例如列表)来存储数据,然后通过某种方式将该数据转换为 UI 元素。它最终使事情变得更简单。

标签: c# visual-studio richtextbox


【解决方案1】:

如果您的 RTB 文本的每一行都以数字和空格开头,您可以试试这个:

string[] textBoxLines = richTextBox1.Lines;
for (int i = 0; i < textBoxLines.Length; i++)
{
    string line = textBoxLines[i];
    if (line.StartsWith("3 ")) // define the line number which the commands occurred
    {
        richTextBox1.SelectionStart = richTextBox1.GetFirstCharIndexFromLine(i);
        richTextBox1.SelectionLength = line.Length;
        richTextBox1.SelectionFont  = new Font(richTextBox1.SelectionFont, FontStyle.Bold);
    }
}
// clear the selection
richTextBox1.SelectionLength = 0;

【讨论】:

  • 这对我来说是完美的。我将字体样式更改为颜色,这没关系。非常感谢!
  • 没问题。很高兴我能帮上忙。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-15
  • 2013-01-07
  • 1970-01-01
  • 2017-10-28
  • 1970-01-01
相关资源
最近更新 更多