1

CMD 出力を複数行のテキスト ボックスにリダイレクトしています。次のコードを使用して自動スクロール ダウンを試みています。

textBox1.SelectionStart = textBox1.Text.Length;
textBox1.ScrollToCaret();
textBox1.Refresh();

しかし、それは本当に途切れ途切れに見えます。つまり、行が入るたびに、スクロールバーがテキストボックスの上部に配置され、次に下部に配置されます。説明するのは難しいので、.gif を作成しました: http ://i.imgur.com/mudqrZy.gif

それを修正する方法はありますか?

4

1 に答える 1

0

同じ目的で、RichTextBox を使用します。

richTextBox1.AppendText(cmdOutputMsg + "\r\n");
richTextBox1.ScrollToCaret();

このようにして、新しいテキストは常に既存のテキストの最後に追加され、ScrollToCaret を使用すると、フォーカスは最後に挿入されたテキストに残ります。

通常の TextBox でも同じように機能すると思います。

于 2013-05-21T06:41:35.300 に答える