vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Zippen wie die Profis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Re: suche Steuerelement 
Autor: DotNetErbse
Datum: 05.09.11 14:51

So was??

...nur mal so schnell zusammengezimmert...

Es lässt sich sowohl ein Ladebalken, als auch der Slider prozentual setzen. Slider immer in Abhängigkeit des Ladebalkens...




Public Class uclSlider
 
    'Events für "Draußen"
    Public Event SliderValueChanged()
    Public Event ProgressbarValueChanged()
 
    'Mauspositionen für Slider
    Private _sngXPos As Single
    Private _sngYPos As Single
 
 
    Private Sub uclSlider_Load(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles MyBase.Load
 
        'init...
        With lblSlider
            .Height = 10
            .Left = 0
            .Width = Me.Width
            .Top = (Me.Height / 2) - (.Height / 2)
        End With
 
        With lblProzent
            .Left = lblSlider.Left
            .Width = 0
            .Top = lblSlider.Top
            .Height = lblSlider.Height
        End With
 
        With btnSlider
            .Width = 10
            .Left = 0
            .Height = Me.Height / 3 * 2
            .Top = Me.Height / 2 - .Height / 2
        End With
 
    End Sub
 
    'Slider +
    Public Sub SliderIncrement()
        If ProgressBarValue < 100 Then ProgressBarValue += 1
    End Sub
 
    'Slider -
    Public Sub SliderDecrement()
        If ProgressBarValue > 0 Then ProgressBarValue -= 1
    End Sub
 
 
    'Slider als Prozentwert
    Public Property SliderValue() As Integer
        Get
            Return 100 * (btnSlider.Left + btnSlider.Width / 2) / _
              lblSlider.Width
        End Get
        Set(ByVal value As Integer)
 
            If value > ProgressBarValue Then
                value = ProgressBarValue
            End If
 
            btnSlider.Left = (lblSlider.Width / 100 * value) - (btnSlider.Width _
              / 2)
            RaiseEvent SliderValueChanged()
        End Set
    End Property
 
    'Progressbar als Prozentwert
    Public Property ProgressBarValue() As Integer
        Get
            Return 100 * lblProzent.Width / lblSlider.Width
        End Get
        Set(ByVal value As Integer)
            lblProzent.Width = lblSlider.Width / 100 * value
            RaiseEvent ProgressbarValueChanged()
        End Set
    End Property
 
    'Moving
    Private Sub btnSlider_MouseDown(ByVal sender As System.Object, ByVal e As _
      System.Windows.Forms.MouseEventArgs) Handles btnSlider.MouseDown
        _sngXPos = e.X
    End Sub
 
    'Moving
    Private Sub btnSlider_MouseMove(ByVal sender As System.Object, ByVal e As _
      System.Windows.Forms.MouseEventArgs) Handles btnSlider.MouseMove
 
        If e.Button = Windows.Forms.MouseButtons.Left Then
            Dim newX As Integer = btnSlider.Left + e.X - _sngXPos
 
            If (newX <= (lblProzent.Width - btnSlider.Width)) And (newX > 0) _
              And (newX <= (lblSlider.Width - btnSlider.Width)) Then
                btnSlider.Location = New Point(btnSlider.Left + e.X - _sngXPos, _
                btnSlider.Location.Y)
                RaiseEvent SliderValueChanged()
            End If
        End If
    End Sub
End Class
und eine Form mit dem Control und einem Button

Public Class Form1
 
 
 
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles MyBase.Load
        Timer1.Interval = 100
        Timer1.Enabled = True
    End Sub
 
    Private Sub sliderMove() Handles Slider.SliderValueChanged
        Me.Text = Slider.SliderValue.ToString
    End Sub
 
    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles Timer1.Tick
 
        Slider.SliderIncrement()
 
    End Sub
 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles Button1.Click
        Slider.SliderValue = 50
    End Sub
End Class
ok, Funktion vor Schönheit, aber Du kannst das ja noch "schön" machen...

Mit freundlichen Gr??en
DotNetErbse


[Es hei?t Paket und nicht Packet, auch wenn Standard augenscheinlich von Standar(t)e kommt,hei?t es dennoch Standar(d)]

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
suche Steuerelement1.447Dot05.09.11 06:26
Re: suche Steuerelement906Christoph197205.09.11 06:58
Re: suche Steuerelement931Dot05.09.11 09:18
Re: suche Steuerelement900Caddy05.09.11 11:59
Re: suche Steuerelement1.056DotNetErbse05.09.11 14:51
Re: suche Steuerelement868Dot06.09.11 06:35

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel