2 RichTextBoxen zugleich scrollen

gerold

Grünschnabel
Hallo!

Ich habe ein Windows-Form mit zwei RichTextBoxen.

Ich müßte diese zwei RichTextBoxen zugleich vertikal scrollen können (d.h. wenn ich in einer der beiden RichTextBoxen vertikal scrolle muß die andere mitgescrollt werden. Ich hab leider noch nicht rausgefunden wie ich den aktuellen Wert der vertikalen ScrollBar rausbekommen. Wenn ich in den Eigenschaften der RichTextBoxen die vertikalen Scrollbars ausblende und dafür eigene VScrollBars an die RichTextBoxen rechts andocke, habe ich das Problem, daß beim scrollen die RichTextBox nicht mitgescrollt wird. Dafür kann ich aber den aktuellen Wert der Scrollbars auslesen.

Danke schon im voraus für die Hilfe!
 
Hallo,
hier hast du mal einen kleinen Denkanstoß, das Problem dabei ist, das du bisher nur positiv scrollen kannst. Wenn du wieder hochscrollen willst müsstest du das irgendwie abfragen, aber da bin ich erstmal überfragt. Wie gesagt Denkanstoß vielleicht hilft dir das ja weiter :)

Code:
using System.Runtime.InteropServices;

const int EM_LINESCROLL = 0x00B6;

[DllImport("user32.dll")]
private static extern int SendMessage(IntPtr hWnd, int wMsg, int wParam, int lParam);

private void richTextBox1_VScroll(object sender, EventArgs e)
{
            SendMessage(richTextBox2.Handle, EM_LINESCROLL, 0, 1);                        
}

Du musst für die RichTextBox noch einen EventHandler anlegen, damit richTextBox1_VScroll überhaupt ausgeführt werden kann. Wenn du Visual Studio 2005 benutzt kannst du im Eigenschaften Menü unter Ereignisse ein Event anlegen.

Gruss
Konstantin
 
Zurück