0
私はアクティブ時にディスプレイの高さ全体にあるテキストコントロール(RichTextBox)を持っています。ユーザーがテキストを入力するときにリッチテキストボックスの中央に、の位置に常にRTBを設定します()。ユーザータイプとしてRichTextBoxのスクロール位置を中央に維持します
注意私は縦に言ったのは、ユーザーが入力している文字の位置にする必要があり、プログラムによって変更されていないからです。
私はアクティブ時にディスプレイの高さ全体にあるテキストコントロール(RichTextBox)を持っています。ユーザーがテキストを入力するときにリッチテキストボックスの中央に、の位置に常にRTBを設定します()。ユーザータイプとしてRichTextBoxのスクロール位置を中央に維持します
注意私は縦に言ったのは、ユーザーが入力している文字の位置にする必要があり、プログラムによって変更されていないからです。
たぶん、これはうまくいくかもしれない、
private const int WM_VSCROLL = 0x0115;
private const int SB_PAGEUP =2; // one page up
[DllImport("user32.dll")]
private static extern int SendMessage(IntPtr hWnd, int wMsg, IntPtr wParam,
IntPtr lParam);
private void richTextBox1_TextChanged(object sender, EventArgs e)
{
SendMessage(richTextBox1.Handle, WM_VSCROLL, (IntPtr)SB_PAGEUP, IntPtr.Zero);
}
希望に役立ち、
これは、あなたの質問に答えるが、ユーザが入力している間、コントロールをスクロールすることはIMO厄介ではありません。ユーザーがコンテンツをスクロールする場合、何をしたいですか? –
投稿がユーザーの入力中にスクロールすることについて何も言っていない、それはばかげているだろう。ユーザーが追加するすべての行をスクロールするのではなく、ユーザーがRTBの中央で入力を続けるように、スクロールPOSITIONを中央に置くことです。 –