Trackbar百分比到richtextbox文本

本文关键字:文本 richtextbox 百分比 Trackbar | 更新日期: 2023-09-27 18:08:07

我有一个Trackbar,并希望它添加当前值到richtextbox文本而不替换整个文本行

richTextBox1.Rtf = richTextBox1.Rtf.Replace("aimbot_aimtime=85.000000", "aimbot_aimtime=" + trackbarpercent.Text + ".000000");

(我从我的标签得到的值)

这就是我现在使用的,但它只在文本为"aimbot_aimtime= 8500000 "时替换它

我想在"aimbot_aimtime=NEWVALUE"之后添加新的值,但我不能让它工作atm

Trackbar百分比到richtextbox文本

@Marc Lyon我认为对我来说更好的方法是替换Line本身,因为它总是Line 7开始工作了,感谢所有人的帮助:)

    void changeLine(RichTextBox RTB, int line, string text)
    {
        int s1 = RTB.GetFirstCharIndexFromLine(line);
        int s2 = line < RTB.Lines.Count() - 1 ?
                  RTB.GetFirstCharIndexFromLine(line + 1) - 1 :
                  RTB.Text.Length;
        RTB.Select(s1, s2 - s1);
        RTB.SelectedText = text;
    }
    private void trackbarpercent_Click(object sender, EventArgs e)
    {
        changeLine(richTextBox1, 7, "aimbot_aimtime=" + aimtimetrackbar.Value + ".000000");
    }

您必须知道该值是什么才能替换它,这就是为什么只有当该值为默认值85时才有效。

为了用新文本替换文本,您必须在替换中跟踪之前的值。这意味着表单中的一个字段,某个类中的一个属性。假设您在表单(myForm)上创建了一个名为oldAimbot_aimtime的int字段。每次滑动条改变时,将旧值放入该字段。现在你的代码变成:

var prompt = "aimbot_aimtime=";
var oldvalue = string.Format("{0}{1}", prompt, myForm.oldAimbot_aimtime);
var newvalue = string.Format("{0}{1}", prompt, {NEWVALUE}.Format("#.######");
richTextBox1.Rtf = richTextBox1.Rtf.Replace(oldvalue, newvalue);

这段代码是我的头,可能不能准确地工作,但它应该取代值。在配置屏幕上使用richtextbox的价值是什么?你能发个截图吗?好的,我看到截图了。撇开道德不谈(不确定是否存在合法的目标机器人)。你正在使用的richtextbox大概是因为它是最简单的控制你的样式…

你使用richtextbox的地方可能更适合GridView, ListBox,甚至是你对每个元素有更好控制的树视图。

如果你想使用richtext,编写代码发出每个选项,然后你可以获得在rtf.Replace()命令中使用的精确值