【问题标题】:Control the position of the vertical scrollbars控制垂直滚动条的位置
【发布时间】:2009-11-29 04:57:54
【问题描述】:

我有一个多行文本框(我们称之为 textBox1),里面有很多文本。

搜索后,我突出显示我正在寻找的字符串:

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

现在,当我调用包含文本框的表单时,它会突出显示选定的文本,但我想做的是滚动条会自动滚动到突出显示的文本。

我试过了

textBox1.ScrollToCaret();  

但是没有用。

有什么想法吗?

谢谢。

【问题讨论】:

  • 仅供参考,无需使用标签(如“[c#]”)标记您的主题行,我们有标签。
  • 哦,对不起。感谢您的提醒。这是我长期以来的习惯。 :)

标签: c# forms


【解决方案1】:

你是从哪个事件触发的? 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();
}

【讨论】:

  • 这就是问题所在。感谢您清除它。很简单。它甚至没有发生在我身上。再次感谢您。
猜你喜欢
  • 2012-09-12
  • 1970-01-01
  • 2021-03-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多