C# 控制垂直滚动条的位置

C# 控制垂直滚动条的位置,c#,forms,C#,Forms,我有一个多行文本框(我们叫它textBox1),里面有很多文本 执行搜索后,我突出显示我正在使用的字符串: textBox1.SelectionStart = textBox1.Text.ToLower().IndexOf(STRING); textBox1.SelectionLength = STRING.Length; 现在,当我调用包含文本框的表单时,它会高亮显示所选文本,但我想做的是,滚动条会自动滚动到高亮显示的文本 我试过了 textBox1.ScrollToCaret();

我有一个多行文本框(我们叫它textBox1),里面有很多文本

执行搜索后,我突出显示我正在使用的字符串:

textBox1.SelectionStart = textBox1.Text.ToLower().IndexOf(STRING);  
textBox1.SelectionLength = STRING.Length;
现在,当我调用包含文本框的表单时,它会高亮显示所选文本,但我想做的是,滚动条会自动滚动到高亮显示的文本

我试过了

textBox1.ScrollToCaret();  
但是没有起作用

有什么想法吗


谢谢。

你是从什么事件中发射的?
表单
可能未处于可以处理此问题的状态。如果你打电话过来,那就太早了。如果你打电话来,它应该能正常工作

private void Form1_Shown(object sender, EventArgs e) {
    var STRING = "Suspendisse mi risus";

    textBox1.SelectionStart = textBox1.Text.IndexOf(STRING);
    textBox1.SelectionLength = STRING.Length;

    textBox1.ScrollToCaret();
}

仅供参考,没有必要用标签(如“[c#]”)标记主题行,我们有相应的标签。哦,对不起。谢谢你的提醒。这是我很长时间以来的习惯这就是问题所在。谢谢你澄清这一点。这么简单。我甚至都没想到。再次感谢你。