kostenloser Webspace werbefrei: lima-city


If Button1.clicked = true then

lima-cityForumProgrammiersprachenProgrammieren mit .NET & Mono

  1. Autor dieses Themas

    andieo

    Kostenloser Webspace von andieo

    andieo hat kostenlosen Webspace.

    Hallo liebe Community.
    So wie es im Titel steht bräuchte ich es ungefährt xD
    Ich weiß dass es für tag/button">Buttons die Click-Events gibt aber ich muss in einer If-Anweisung überprüfen, ob ein Button gerade geclicked wird.
    Undzwar hab ich ich eine art Musikplayer programmiert und dort habe ich einen lauter und einen leiser button. Mit einem Click wird die Systemlauttärke um 1% angehoben oder abgesenkt. Ich will aber nicht 100mal auf den Button klicken müssen um von 0 auf 100% zu kommen sondern in einem Timer immer abfragen, ob der Button gerade geklickt wird. Dadurch könnte man den Button geklicked halten und die Laustärke würde von alleine steigen bis man nicht mehr klickt. Ist es also irgendwie möglich in Timer_Tick Event sowas abzufragen wie:
    If Button1.clicked = true then
    usw...

    Vielen Dank

    Beitrag zuletzt geändert: 22.12.2012 14:53:04 von andieo
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    Auch wenn ich kaum etwas über VB weiß gibt es auf jeden Fall folgende Möglichkeit: du machst einen Event-Handler für "wenn der Knopf gedrückt wird" und einen für "wenn der Knopf losgelassen wird". In den beiden Event-Handlern änderst du eine Variable, die den Zustand des Knopfes enthält, also bei "knopf drücken" setzt du die Variable "knofpistgedrückt" auf true und bei "knopf loslassen" setzt du sie wieder auf false zurück. Die kannst du dann so wie du es im Threadtitel gewünscht hast abfragen.
  4. r********e

    Für Buttons gibt es meines Wissens nach keinen up/down event. Aber für die Maus gibt es den. In deinem Fall also: mousedown event abfangen, der einen timer startet. Im Timer machst du dann deine Lautstärkeänderung so lange, bis du einen mouseup event bekommst. Den lässt du den Timer wieder ausschalten und alles ist gut :)
  5. p*j

    Frag es doch am besten einfach direkt im Click-Event ab, dort dann einfach bestimmen, ob die Maus noch gedrückt wird, und der Button den Fokus hat, und dann einfach solange +1 für die Lautstärke

    Lg Pascal
  6. Die Idee von hackyourlife ist einfach umzusetzen, das mach ich auch immer so (in Delphi):

    im onClick-Event:
    if Button1.Tag=1 then Button1.Tag:=0 else Button1.Tag:=1;
    Also hin und her schalten des "Prüfmittels".

    Überall in deinem Programm kannst du dann prüfen, ob das Tag von Button1 auf 1 oder 0 steht und entsprechend reagieren.

    Wenn es dir gedanklich hilft, kannst du anstelle des Tag eine globale Variable Button1clicked als Boolean definieren und diese im onClick-Event entsprechend setzen:
    if Button1clicked=true then Button1clicked:=false else Button1clicked:=true;

    ;-)
  7. Das mit dem OnClick dürfte glaub ich nicht wie gewoolt funktionieren, da der Eventhandler erst beim Loslassen ausgeführt wird (bin mir gerade aber nur zu 99% sicher). Die Idee von hackyourlife sollte funktionieren: OnMouseUp und OnMouseDown. Achte aber darauf, dass du OnMouseUp nicht auf den Button legst, da man ja theoretisch beim Loslassen nicht mehr auf dem Button sein könnte. Die Lautstärke sollte sich aber trotzdem nicht weiter verstellen.
  8. 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!