2009-08-04 9 views
60

私はC#フォームアプリケーション上にTextBoxを持っています。 TextBoxにフォームのLoadイベントに関する情報を設定します。C#TextBoxの下部までスクロール

this.txtLogEntries.SelectionStart = txtLogEntries.Text.Length; 
this.txtLogEntries.ScrollToCaret(); 

ただし、TextBoxは下にスクロールしませんか?

これはLoadイベントにのみ適用されます。私はまた、アプリケーションの他の部分からこのTextBoxを更新し、実行中にこれらのイベントの1つがTextBoxに更新されると、すぐ下にスクロールされます。

Form LoadイベントでTextBoxを事前に設定するときに、どのようにして下部にスクロールすることができますか?

+1

チェック [http://stackoverflow.com/questions/739656/の

あなたはShownイベントにスクロール部分を動かすとより多くの成功を有することができる(フォームが最初に表示される後に発生します) how-can-i-scroll-to-a-win-forms-textbox-using-c](http://stackoverflow.com/questions/739656/how-can-i-scroll-to -a-specified-line-in-a-winforms-textbox-using-c) – Raghav

答えて

92

フォームのコードを入れてみてくださいは、イベントが示されています:

private void myForm_Shown(object sender, EventArgs e) 
{ 
    txtLogEntries.SelectionStart = txtLogEntries.Text.Length; 
    txtLogEntries.ScrollToCaret(); 
} 
16

Loadイベント(フォームが示されている前に発生)が処理されているが、そこにまだ表示するno形式がなく、従って、視覚的状態が確立されている。したがって、目に見えないコントロールをスクロールすることは何もしません。なぜなら、スクロールするビューポートはコントロールのビューにすぎず、その状態の一部ではないため、何もスクロールしないからです。フォーム

関連する問題