panel scrollen programmierbare
Hey, ich bin versuchen zu kontrollieren, die horizontale Bildlaufleiste eines Fensters in box vb.net. Das problem ist, ich kann nur scheinen, um es zu bewegen nur ein bisschen mit dem folgenden code:
Private Sub HScrollBar1_Scroll(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ScrollEventArgs) Handles HScrollBar1.Scroll
panSS.HorizontalScroll.Value = HScrollBar1.Value
End Sub
Den Formen Breite 800, während die Platte selbst erstreckt sich 1000+ (aber nur 800px werden angezeigt). Ich weiß nur nicht, wie man über die mithilfe des HScrollBar, um es zu bewegen, wie es funktioniert, wenn ich hatte es auf die auto-scroll-Funktion.
Jede Hilfe wäre toll.
Dank!
David
update
Habe auch versucht dies zu tun und die Platte würde gar nicht mehr bewegen:
Dim range = HScrollBar1.Maximum - HScrollBar1.LargeChange + HScrollBar1.SmallChange
Dim panelPos = (panSS.AutoScrollMinSize.Width - panSS.Width) * e.NewValue / range
panSS.AutoScrollPosition = New Point(panelPos, 0)
InformationsquelleAutor StealthRT | 2011-11-01
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ja, funktioniert nicht, da die Panels scroll-Bereich ist viel größer als Ihre Bildlaufleiste. Sie konnte es beheben durch Einstellung der HScrollBar.Maximale Wert gleich dem panel scroll Breite. Oder verwenden Sie diesen code, es funktioniert unabhängig von der scroll-Bereiche:
Ich würde das panel-AutoScroll-Eigenschaft auf True. Lassen Sie die panel-Breite auf 800, aber wie Sie Inhalte hinzufügen, noch breiter eine integrierte scroll-bar erscheint, und verwalten Sie die scrollen.