Hi,
ich hab ein Panel und möchte es in der Horizontalen mit Buttons scrollen ohne das die horizontale Scrollbar gezeigt oder beim scrollen kurz eingeblendet wird. Ich hab es mit diesem Code versucht, aber manchmal kann man einfach nicht mehr weiter scrollen und die Scrollbars werden beim Scrollen immer ganz kurz eingeblendet.
Spoiler anzeigen
Ich hoffe ihr könnt mir helfen![:D](https://www.vb-paradise.de/wcf/images/smilies/biggrin.png)
MfG Luca
ich hab ein Panel und möchte es in der Horizontalen mit Buttons scrollen ohne das die horizontale Scrollbar gezeigt oder beim scrollen kurz eingeblendet wird. Ich hab es mit diesem Code versucht, aber manchmal kann man einfach nicht mehr weiter scrollen und die Scrollbars werden beim Scrollen immer ganz kurz eingeblendet.
VB.NET-Quellcode
- Public Class frmTest
- Dim X As Integer = 0
- Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- AddControls()
- End Sub
- Private Sub AddControls(Optional ControlCount As Integer = 20)
- With pControls
- Controls.Clear()
- For i = 0 To ControlCount - 1 ' -1 weil --- ControlCount = 20 --> 21 Buttons werden hinzugefügt --- 0,1,2...19,20,20 mit 0 sind es 21 Buttons
- Dim newBtn As New Button
- newBtn.Location = New Point((newBtn.Width + 2) * i, .Height / 2 - newBtn.Height / 2)
- newBtn.Text = "Button - " + i.ToString
- .Controls.Add(newBtn)
- Next
- End With
- End Sub
- Private Sub pControls_Scroll(sender As Object, e As ScrollEventArgs) Handles pControls.Scroll
- X = e.NewValue
- End Sub
- Public Enum ScrollDirection
- Left
- Right
- End Enum
- Public Sub ScrollPanel(SD As ScrollDirection, Optional Factor As Integer = 25)
- With pControls.HorizontalScroll
- Select Case SD
- Case ScrollDirection.Left
- X -= Factor
- If X < .Minimum Then X = .Minimum
- .Value = X
- Case ScrollDirection.Right
- X += Factor
- If X > .Maximum Then X = .Maximum
- .Value = X
- Case Else
- Exit Sub
- End Select
- End With
- End Sub
- Private Sub btnLeft_Click(sender As Object, e As EventArgs) Handles btnLeft.Click
- ScrollPanel(ScrollDirection.Left, pControls.HorizontalScroll.LargeChange)
- End Sub
- Private Sub btnRight_Click(sender As Object, e As EventArgs) Handles btnRight.Click
- ScrollPanel(ScrollDirection.Right, pControls.HorizontalScroll.LargeChange)
- End Sub
- Private Sub btnNewButtons_Click(sender As Object, e As EventArgs) Handles btnNewButtons.Click
- AddControls(nudControlCount.Value)
- End Sub
- End Class
Ich hoffe ihr könnt mir helfen
![:D](https://www.vb-paradise.de/wcf/images/smilies/biggrin.png)
MfG Luca