如何使用滚动条跟随插入文本框中的文本

时间:2013-03-23 01:56:24

标签: c# scrollbar

我有一个带滚动条的文本框(启用了垂直)。当我写入texbox并且我的文本无法在文本框可用显示中显示时,它会启动滚动条功能。(这是滚动条的目的)但它不跟随我.Ibeam不能显示我应该手动滚动对它来说。这是一个不确定的事情。我该怎么做才能解决这个问题?是否有内置功能来解决这个问题? 这是

        resources.ApplyResources(this.textBox1, "textBox1");
        this.tableLayoutPanel1.SetColumnSpan(this.textBox1, 5);
        this.textBox1.Cursor = System.Windows.Forms.Cursors.IBeam;
        this.textBox1.HideSelection = false;
        this.textBox1.Name = "textBox1";
        this.textBox1.ReadOnly = true;

2 个答案:

答案 0 :(得分:1)

您可以使用ScrollToCaret方法。将TextChanged事件处理程序附加到文本框,以便每次文本更改时调用它并滚动到插入符所在的位置。

//attach handler
textBox1.TextChanged += new EventHandler(textBox1_TextChanged); 

private void textBox1_TextChanged(object sender, EventArgs e)
{
    //move the caret to the end to ensure it scrolls right to the bottom
    textBox1.SelectionStart = textBox1.Text.Length;

    //scroll to the caret
    textBox1.ScrollToCaret();
}

答案 1 :(得分:0)

关于keydown事件使用

this.textBox1.Select(this.textBox1.Text.Length-1, 0)