所选文本的颜色更改不起作用

2024-01-07

大家好,我目前正在编写一个调试函数,其中我的异常应该以红色打印到 RichTextBox。 我尝试了在这里找到的不同解决方案,但它们不起作用,所以我认为我做错了什么。

这是我的函数,其中文本以红色打印:

public void DebugHighlighter(string s)
    {
        /*
        richTextBoxOutput.SelectionColor = Color.Red;
        richTextBoxOutput.SelectedText = s;
        
        richTextBoxOutput.SelectionColor = Color.Red;
        richTextBoxOutput.Text += s + "\n";
        richTextBoxOutput.Find(s);
        */

        richTextBoxOutput.SelectionColor = Color.Red;
        richTextBoxOutput.AppendText(s);
        richTextBoxOutput.AppendText("\n");
        int index = richTextBoxOutput.Text.IndexOf(s);
        int lenght = s.Length;
        richTextBoxOutput.Select(index, lenght);
    }

以下是将字符串提供给 DebugHighlighter 的函数:

try
            {
                if (!reversed)
                {
                    string outputSplitter = Regex.Replace(output2[19], @"[a-zA-z]", " ");
                    outputBandwith = outputSplitter.Split(" ", StringSplitOptions.RemoveEmptyEntries);
                    bandwithResult = outputBandwith[3];
                }
                else if (reversed)
                {
                    string outputSplitter = Regex.Replace(output2[20], @"[a-zA-z]", " ");
                    outputBandwith = outputSplitter.Split(" ", StringSplitOptions.RemoveEmptyEntries);
                    bandwithResult = outputBandwith[3];
                }
            }
            catch(IndexOutOfRangeException ex)
            {
                OutputConsoleForm._OutputConsoleForm.DebugHighlighter("Index out of Range");
            }

我还将附上输出的屏幕截图(我在输出上放置了一个框,应以红色打印)。

我希望有人能告诉我我在这里做错的小事或大事。 我已经查看了 reddit/stackoverflow/msdn,但没有任何变体适合我。

有错误的输出图像 https://i.stack.imgur.com/quXJR.png


要更改所需文本的颜色,请先添加它,然后选择它,最后设置SelectionColor财产。

Output:

    public void DebugHighlighter(string firstParagraph, string s, string lastParagraph, RichTextBox RTB)
    {
        RTB.AppendText(firstParagraph);
        RTB.AppendText(s + "\n");
        RTB.Select(firstParagraph.Length, s.Length);
        RTB.SelectionColor = Color.Red;
        RTB.AppendText(lastParagraph);

    }

    private void CheckButton_Click(object sender, EventArgs e)
    {
        //This part is only for creating exceptions, and I only used it as an example.
        int Max = int.Parse(TextBox.Text);
        int[] Array = new int[7];
        Random RandomNumber = new Random();
        try
        {
            for (int i = 0; i < Max; i++)
            {
                Array[i] = RandomNumber.Next(0, 100);
            }
            MessageBox.Show(Array[6].ToString());
        }
        catch (IndexOutOfRangeException)
        {
            RichTextBox.Text = "";
            string FirstParagraph = "Your paragraph...\n";
            string LastParagraph = "Your paragraph...";
            DebugHighlighter(FirstParagraph, "IndexOutOfRangeException", LastParagraph, RichTextBox);
        }
    }

    private void ClearRichTextBox_Click(object sender, EventArgs e)
    {
        RichTextBox.Text = "";
    }

测试于:

Visual Studio 2017, .NET Framework 4.5.2, Windows Forms

此致,

礼萨·贾费里

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

所选文本的颜色更改不起作用 的相关文章

随机推荐

  • 此类不符合键的键值编码

    我对快速开发非常陌生 我正在努力本节 https developer apple com library ios referencelibrary GettingStarted DevelopiOSAppsSwift Lesson7 htm
  • MacOS:以编程方式向图像添加一些文本?

    我正在将一些代码从 Linux 转换到 Mac 如何以编程方式用文本覆盖图像 类似于 ImageMagick 转换命令 由于各种原因 我不能依赖安装 ImageMagick convert draw text 50 800 hello wo
  • 我们可以迭代 Amazon S3 中的完整对象集吗

    我尝试打印 S3 存储桶中所有对象的元数据 但是 它不会返回超过 1000 个对象的结果 我尝试过实施objectListing isTruncated 但这没有帮助 下面是我列出 1000 多个对象的示例代码 ListObjectsReq
  • Hask 局部很小吗?

    haskell 对象的类别 Hask 是局部小类别的示例吗 http ncatlab org nlab show locally small category http ncatlab org nlab show locally small
  • 使用 mod_cgi 和 mod_perl 捕获错误

    提前感谢大家 我一直在对错误处理进行一些研究 但我觉得我并没有对我应该做什么有充分的了解 前言 我的代码位于 Apache 中并在浏览器中执行 我的目标不包括命令行执行 我希望具有 CGI Carp fatalsToBrowser 的行为
  • window.open 无法打开两个以上的链接

    根据我的要求 我需要创建一个 Google Chrome 扩展程序 只需在单个 Chrome 窗口的不同选项卡中单击一次即可打开多个链接 25 该代码在 Chrome 18 之前一直运行良好 现在 我使用的是 chrome 24 该代码停止
  • 有选择地对数组中的元素取反

    我正在寻找有关 numpy 中 如何选择性地否定数组的值 的一些帮助 已经尝试过了 numpy where and numpy negative但无法对选定的少数人实施条件 import numpy as np arr np arange
  • 使用 ggplot 在 x 轴上显示有限的时间范围

    我希望下图中的 x 轴从 06 00 开始 到 22 00 结束 每 4 小时休息一次 但是 我无法弄清楚以下内容 a 如何使x轴从06 00开始 06 00之前没有任何空白 b 如何使x轴在22 00结束 22 00之后没有任何空白 现在
  • “subl”命令无法正常工作

    在终端中使用 subl 命令时遇到问题 它曾经工作正常 但最近当我运行它时 它确实打开了我想要的文件 但我无法编辑它们 而且 Sublime Text 没有显示在我的 mac 的顶部栏中 就好像它根本没有运行一样 有除了扩展坞中的图标之外也
  • 如何防止加载谷歌图表表格CSS

    每次我使用 Google Charts Table 时 Google 加载程序都会加载一个http ajax googleapis com ajax static modules gviz 1 0 table table css这总是并且几
  • Gulp AssertionError [ERR_ASSERTION]:必须指定任务函数

    我正在尝试为构建的 Web 应用程序的演示自定义模板AngularJS using MacOS 塞拉利昂 10 13 6 我已经安装了Gulp但当我启动时gulp serve返回此错误而不启动本地服务器 assert js 337 抛出错误
  • C - 如何释放动态分配的内存?

    看看这段代码 它是链表的一部分 int main List head1 NULL insertFront head1 1 insertFront head1 2 print head1 free head1 return 0 另一个函数是
  • MFC应用程序标题

    我正在使用 MFC 创建一个简单的时钟应用程序 我的应用程序标题如下 CLOCK CLOCK1 如何将其重置为简单的 CLOCK 仅供参考 我已经启用了文档视图架构 放入 MFC 标题的重写 void CMainFrame OnUpdate
  • 日期时间 x 轴 matplotlib 标签导致不受控制的重叠

    我正在尝试绘制一只熊猫series with a pandas tseries index DatetimeIndex x 轴标签顽固地重叠 即使有几个建议的解决方案 我也无法使它们美观 我试过stackoverflow 解决方案建议使用a
  • 如何解决“找不到模块‘请求上下文’的声明文件。”?

    我目前正在处理三个文件 即index js index main js 和app js 我正在使用请求上下文从index main js 获取变量并将其传递给index js 在 app js 我在服务器文件夹中创建的文件 中 我有以下代码
  • 删除字符串中特定字符之后的字符,然后删除子字符串?

    当这看起来很简单并且关于字符串 字符 正则表达式有大量问题时 我觉得发布这篇文章有点愚蠢 但我找不到我需要的东西 除了另一种语言 删除特定点之后的所有文本 https stackoverflow com questions 2176544
  • 在 python 中打印第一段

    我有一本书的文本文件 我需要打印每个部分的第一段 我想如果我在 n n 和 n 之间找到文本我就能找到答案 这是我的代码 但它不起作用 你能告诉我我哪里错了吗 lines line rstrip n for line in open G a
  • Android N - 如何检查 apk 是否使用 schema v2 进行签名

    提供Android N新的apk签名方案v2 https developer android com about versions nougat android 7 0 apk signature v2 如何检查特定的 apk 是否使用新签
  • XPath 仅返回包含文本的元素,而不返回其父元素

    在此 xml 中 我想要匹配包含 match 的元素 random2 元素
  • 所选文本的颜色更改不起作用

    大家好 我目前正在编写一个调试函数 其中我的异常应该以红色打印到 RichTextBox 我尝试了在这里找到的不同解决方案 但它们不起作用 所以我认为我做错了什么 这是我的函数 其中文本以红色打印 public void DebugHigh