C# Form TextBox 追記時に 一番したまでスクロール

Pocket

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);
	}
}

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA


2022 MJELD TECHNOLOGIES. ALL RIGHTS RESERVED