kostenloser Webspace werbefrei: lima-city


vb.net Progressbar per click setzen

lima-cityForumProgrammiersprachenProgrammieren mit .NET & Mono

  1. Autor dieses Themas

    programtools

    programtools hat kostenlosen Webspace.

    Hallihallo
    ich habe eine Progressbar und ich möchte, dass ich wenn ich auf eine gewisse position klicke, sich der value wert anpasst.
    Also ich möchte quasi auf der progressbar herumklicken, und der wert soll sich dann anpassen.
    ich habe schon versucht das irgendwie mit der mausposition zu machen, aber da geht garnix.
    Ich hoffe ihr könnt mir helfen!
    Vielen Dank und MFG
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Hi,

    Problem wird wohl der Bezugspunkt deines Koordinatensystems sein. Wenn du einfach nur das Klick-Event in der Form-Klasse abfängst, dann hast du die linke obere Ecke der Form als Bezugspunkt. Dementsprechend groß sind deine Koordinaten beim MouseClick-Event.

    Von daher würde ich dazu raten eine eigene Progressbar-Klasse zu erstellen, die du von der vorhandenen Progressbar-Klasse ableitest.
    Darin implementierst du einfach die notwendigen MouseEvents, z.B. das MouseClick-Event:
    Private Sub ProgressBar_MouseClick(sender as Object, e as MouseEventArgs) Handles myProgressBar.MouseClick


    Innerhalb eines MouseClick-Events fragst du die aktuelle Mausposition ab. Die musst du dann ins Verhältnis setzen mit der gesamten Breite der Progressbar (beide Werte sind in Pixel). Bei einem Wertebereich von 0 bis 100 (Prozent), ist das der einfache Dreisatz:

    Formel: Me.Value  =  \frac {e.X} {Me.Width} \cdot 100

    Hoffe, du kannst etwas damit anfangen.

    PS: die Implementierung der Mouse-Ereignisse deiner Progressbar innerhalb der Form-Klasse ist sehr unsauber. Besser man lagert das wirklich in eine eigene ProgressBar-Klasse aus. Es kann natürlich auch so funktionieren... aber siehst du ja, dass man da schon Probleme kriegt, wegen irgendwelchen Koordinatentransformationen...


    Beitrag zuletzt geändert: 14.11.2010 13:55:29 von tangoal
  4. Autor dieses Themas

    programtools

    programtools hat kostenlosen Webspace.

    Hey super! Genau das brauchte ich!
    Ich habe nur statt 'me' die progressbar genommen, da me sich ja auf die Form bezieht und statt 100 progressbar.maximum, da das bei mir variabel ist.
    Läuft zuverlässig & genau was will mann mehr ;)
    vielen Dank, MFG
  5. p**********s

    Für so etwas gibt es ein schönes Tutorials auf YouTube :D :
    http://www.youtube.com/watch?v=S8J_A2eS3a8
  6. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!