Hallo zusammen,
Ausgangslage:
Ich zeichne ein Raster auf eine Picturebox, die innerhalb eines Panels mit aktiver Autoscroll Funktion liegt. Am Raster werden die Koordinaten als Strings eingezeichnet und sollen beim Scrollen immer mitbewegt werden damit man sieht wo man sich befindet. Meine Idee war jetzt die Positionen der Vertical und HorizontalScroll Eigenschaft als Offset zu nehmen und die Picturebox beim Aufruf des Scroll Events des Panels zu aktualisieren.
Problem:
Da das Scroll Event des Panels nicht für jeden Einzelschritt den man scrollt aufgerufen wird springt die Anzeige immer um ein paar Pixel anstatt sich flüssig mitzubewegen. Meine Frage lautet nun: Gibt es eine Möglichkeit das Scroll Event für jeden Einzelschritt aufzurufen oder hat man die Möglichkeit ein anderes Event zu benutzen?
Ausgangslage:
Ich zeichne ein Raster auf eine Picturebox, die innerhalb eines Panels mit aktiver Autoscroll Funktion liegt. Am Raster werden die Koordinaten als Strings eingezeichnet und sollen beim Scrollen immer mitbewegt werden damit man sieht wo man sich befindet. Meine Idee war jetzt die Positionen der Vertical und HorizontalScroll Eigenschaft als Offset zu nehmen und die Picturebox beim Aufruf des Scroll Events des Panels zu aktualisieren.
Problem:
Da das Scroll Event des Panels nicht für jeden Einzelschritt den man scrollt aufgerufen wird springt die Anzeige immer um ein paar Pixel anstatt sich flüssig mitzubewegen. Meine Frage lautet nun: Gibt es eine Möglichkeit das Scroll Event für jeden Einzelschritt aufzurufen oder hat man die Möglichkeit ein anderes Event zu benutzen?
Code:
private void splitContainer_Haupt_Panel2_Scroll(object sender, ScrollEventArgs e)
{
Console.WriteLine(e.ScrollOrientation.ToString() + " = " + e.OldValue.ToString() + " -> " + e.NewValue.ToString());
pbBeschriftungsbereich.Refresh();
}
private void pbBeschriftungsbereich_Paint(object sender, PaintEventArgs e)
{
Graphics GrafikHandle = e.Graphics;
m_Beschriftungsbereich.BeschriftungsbereichZeichnen(GrafikHandle, splitContainer_Haupt.Panel2.HorizontalScroll.Value, splitContainer_Haupt.Panel2.VerticalScroll.Value);
}
Zuletzt bearbeitet: