C# Form アプリの TextBox を Multiline に設定し
AppendText()で文字を追記する場合に自動で一番したまでスクロールさせる
タイマーを使って textBox1に追記するコード
private void Timer_Tick(object? sender, EventArgs e) { try { switch (iCount) { case 0: textBox1.AppendText($"BIGIN {iCount}{Environment.NewLine}"); break; case 9: textBox1.AppendText($"END LINE {iCount}{Environment.NewLine}"); (sender as System.Windows.Forms.Timer).Stop(); break; default: textBox1.AppendText($"{iCount}{Environment.NewLine}"); break; } iCount++; } catch(Exception e1) { System.Diagnostics.Debug.WriteLine(e1.Message); } }
VisibleChanged時に、 一番したまでスクロールさせるコード
//textBox1.VisibleChanged += TextBox1_VisibleChanged; private void TextBox1_VisibleChanged(object? sender, EventArgs e) { try { if (textBox1.Visible) { textBox1.SelectionStart = textBox1.TextLength; textBox1.ScrollToCaret(); } } catch (Exception e1) { System.Diagnostics.Debug.WriteLine(e1.Message); } }