0

スクロールバー付きのテキストボックスがあります(垂直方向が有効)。テキストボックスに書き込み、テキストボックスの利用可能なディスプレイ内にテキストを表示できない場合、スクロールバー機能が開始されます.(これはスクロールバーの目的です)しかし、それは私に従いません.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;
4

2 に答える 2

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();
}
于 2013-03-23T02:02:52.670 に答える
0

キーダウンイベントの使用時

this.textBox1.Select(this.textBox1.Text.Length-1, 0)
于 2013-03-23T02:00:31.983 に答える