我有一个多行文本框(让我们称之为textBox1)里面有很多文字。
在搜索之后,我突出显示我正在寻找的字符串:
textBox1.SelectionStart = textBox1.Text.ToLower().IndexOf(STRING);
textBox1.SelectionLength = STRING.Length;
现在,当我调用包含文本框的表单时,它会突出显示所选文本,但我想要做的是滚动条会自动滚动到突出显示的文本。
我试过
textBox1.ScrollToCaret();
但没效果。
有什么想法吗?
谢谢。
答案 0 :(得分:2)
你从哪个事件中解雇了这个? Form
可能不处于可以处理此状态的状态。如果您从Form.Load
拨打电话,那就太早了。如果您从Form.Shown
致电,它应该可以正常使用。
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();
}