如何突出显示和使用文本框中突出显示的行

本文关键字:显示 文本 何突出 | 更新日期: 2023-09-27 18:30:06

我正在尝试制作一个机器代码模拟器。它将贯穿每一行/指令,并根据高亮显示的幕墙线执行某些功能。

如何在文本框中突出显示一行,并能够在程序中自动将其用作字符串或int,而不是手动使用。

我有一个IO类,它从文本文件中读取文本。在我的文本文件中,文本看起来像这个

00 0000000
01 0000000
02 0000000
03 0000000

当我让IO类读取它时,在方法中它会返回一个字符串S.

我的S是一个完整的字符串"0000000''n 01 0002020''n 02 0020202''n 03 0101001",但当它显示在文本框中,如下所示。

例如,在我的文本框中,我有

00 0000000
01 0000000
02 0000000
03 0000000

我的程序将从第0行开始,当它经过每一行时,它将自动突出显示它所在的行,以指示程序所在的行/指令。

如何突出显示特定的行,以便我的程序让用户知道该行正在使用。

例如,程序在第3行。

02 0000000

它将突出显示这一点,并显示文本框中正在使用第3行。

我怎样才能把每一行都作为一个单独的行或整数。由于字符串是原始的,所以只添加了新行。我如何将文本框中的每一行分隔为自己的字符串或整数以用于计算。

例如,假设程序在第3行,它会突出显示第3行。

02 0000000

然后再加1。

int N=1, sum=0;
sum = line3 +N;

然后将结果显示回文本框中的特定行或幕墙行。

我必须能够将它重写回文本文件,就像它在文本框中出现的方式一样。因此,如果第3行发生更改,文本文件应该看起来像这个

00 0000000
01 0000000
02 0000001  // or just 1
03 0000000

如何突出显示和使用文本框中突出显示的行

如何突出显示文本框中的一行并将其用作string还是int

如何突出显示特定行所以我的程序让用户知道正在使用该行

使用鼠标:按住选择开始的左键,移动到文本框中所需的位置,然后释放鼠标按钮。

如果这不是您想要的答案,我现在能为您做的就是通知您System.Windows.Forms.TextBox具有以下属性:

  • .SelectionStart,其中选择开始,但其中键输入
  • .SelectionLength,它是以字符数为单位的选择的长度。如果是0,则表示没有选定的文本

现在,如果不知道用编程方式选择一些lambda数字字符的逻辑/条件是什么,你就不能让我们猜测。谷歌返回垃圾是正常的,因为谷歌不明白你想做什么。哪种选择是正确的?

  • 0000000
    01 0002020
    020020202
    03 0101001

  • 0000000
    01 0002020
    02 0020202
    03 0101001

  • 0000000
    01 0002020
    020020202
    03 0101001

  • 0000000
    01 0002020
    02 0020202
    03 0101001

为什么是第2行而不是第0行或第45行?我们应该如何知道从哪里开始选择,从哪里结束选择?(注意,行索引以0为基础,即人行1是计算机行0,人行2是计算机行1…字符索引也是如此:第一个字符被索引[0])


我该如何将该行用作int或字符串

TextBox1.Text.Substring(TextBox1.SelectionStart, TextBox1.SelectionLength) => String

作为int

int MyInt = 0;
if (Int.TryParse(MySelection, MyInt))
{
    // ... you can use MyInt...
}

Carefull:如果你有空格或换行符,你必须删除那些(可见或不可见)字符,才能得到一个用字符串表示的串联整数。但同样,逻辑取决于你的目标。我们无法猜测空格和换行符是否被视为数字分隔符或忽略它们(在这种情况下删除它们)


所以我可以把它作为一个字符串或int变量,放在不同的文本框中

TextBox2.Text = TextBox1.Text.Substring(TextBox1.SelectionStart, TextBox1.SelectionLength)

你应该把你的问题分成更小的问题,但相信我,就在这里,你已经找到了更小问题的答案。如何将字符串转换为整数C#?如何删除字符串C#中的空格?如何删除字符串C#中的换行符。。。

阅读.SelectionStart和.SelectionLength.的文档

你说RichTextBox不是你想要的。。RichTextBox派生自TextBoxBase和TextBox。

事实是,如果你不尝试,或者至少不详细解释你的目标,就不要指望有人会帮助你。这就像我在问你我该如何使用锤子?别担心。我没有投反对票。。。但我可能(也应该)在以后的时间里不再是你的努力。