Autor Beitrag
georgeboy
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 45



BeitragVerfasst: Di 19.11.19 14:40 
Hallo zusammen, ich arbeite mit VS 2008/2019 C# WinForms. Gibt es eine Möglichkeit, die Scrollposition einer Form bzw Steuerelement zu bestimmen bzw zu setzen ? Beim Panel Steuerelement geht das. Dann würde ich gerne noch wissen, wie man die absolute Mausposition eines Formulars bestimmt, dann wenn der Bereich grösser als der Bildschirm ist, also gescrollt ist ?
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4297
Erhaltene Danke: 924

Win10
C#, C++ (VS 2015/17)
BeitragVerfasst: Di 19.11.19 16:49 
Die aktuelle Scroll-Position kann man mit AutoScrollPosition auslesen und setzen (da sowohl Form als auch Panel von ScrollableControl abgeleitet sind).

Aber was genau verstehst du unter "absolute Mausposition eines Formulars"?
georgeboy Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 45



BeitragVerfasst: Mi 20.11.19 06:24 
Wenn das Dokument grösser als die Bildschirmseite ist, ( der Bildschirm etwa 768 Pixel hat ) also ein vertikaler Scrollbalken erscheint, dann kann die vertikale Mausposition vielleicht 1200 betragen, dann möchte ich diese Position ( 1200 ) erhalten.
georgeboy Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 45



BeitragVerfasst: Mi 20.11.19 08:12 
Mit AutoScrollPosition kann ich auch meine absolute Mausposition berechnen. Einfach zur Mausposition ( eventuell noch PointToClient(MousePosition) ), AutoScrollPosition dazu addieren. Überraschenderweise ist AutoScrollPosition.Y negativ. Wenn ich eine Location eines Steuerelements festlege, geschieht das mit positiven Zahlen ...

Moderiert von user profile iconTh69: C#-Tags hinzugefügt
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4297
Erhaltene Danke: 924

Win10
C#, C++ (VS 2015/17)
BeitragVerfasst: Mi 20.11.19 09:39 
Die Location eines Steuerelements ist immer relativ zur aktuellen AutoScrollPosition, kann also auch negativ sein (wenn das Element z.B. oben links im Formular ist und man dann nach rechts unten scrollt).

In Autoscroll, falsche Position der Steuerelemente? hatte ich schonmal etwas dazu geschrieben.
georgeboy Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 45



BeitragVerfasst: Mi 20.11.19 12:17 
Danke Th69 !!!