Events Disablen



  • Hallo,
    ich bin auf der Suche nach einer Lösung, ich weiß nicht, ob das so genau da geht.
    Ich will das Click-Event auf einer komponente ausschalten, da es mich irgendwie behindert. Gibt es dabei irgendeine Möglichkeit?
    Also ich möchte es generell disablen, also nicht so etwas wie:

    this.Click -= new EventHandler(this_Click);
    

    Also ganz und gar ausschalten, weil es (meines Erachtens) noch immer intern bearbeitet wird (wahrscheinlich von der von mir benutzten Basisklasse, ich arbeite derzeit mit einem TreeView).
    Weil irgendwie sehe ich derzeit keine Möglichkeit von den EventArgs auf (von mir benötigte) MouseEventArgs zu gelangen, da ich die Abfrage-Möglichkeit der Koordinaten nicht besitze. Oder kann man auf die Koordinaten innerhalb einer Control durch einen geeigneten Cast des sender-Objektes schließen?
    Nur weiß ich auch nicht, ob vielleicht das Click-Event seinerseits Events auslöst, wie zum Beispiel in einer TreeView NodeMouseClick oder MouseClick.
    Wenn jemand von euch bescheid weiß, wärs echt cool so weit.

    mfg

    vorden



  • deinControl.Enabled=false;



  • Ich hoffe, du findest deine Antwort nicht wirklich so gut, weil ich will in der Tat eigentlich lediglich ein bestimmtes Event disablen und nicht mein Control...



  • Wenn kein Handler eingetragen ist, dürfte die interne bearbeitung lediglich das prüfen auf null sein.
    Solange da aber noch ein Handler drinn steht, wird dieser wohl auch einen Sinn haben und sollte ausgeführt werden. Es macht keinen Sinn fremden das Event abzudrehen da Du nicht weisst inwieweit das dort wichtig ist.

    Mit Control.MouseClick findest Du eventuell das was Du suchst.

    [edit] Vllt. kannst Du auch radikal ein null zuweisen für das Event, beachte dabei aber oben stehendes[/edit]



  • Jo, ne, hat sich irgendwie gelöst, denke ich jedenfalls...
    Aber des mit dem null zuweisen klingt eigentlich auch ganz interessant, nur könnte daraus irgendwie eventuell auch ein nicht zu erwartendes Laufzeitverhalten resultieren 😃
    Aber danke soweit, wollte nur wissen, ob es irgendwie möglich ist, dass eben ein Handler überhaupt net angesprochen wird, ich mein, man kann es natürlich so machen, dass man beispielswiese die komplette Komponente selbst bastelt und dann ausschließlich die eigens definierten Events behandelt, allerdings wäre des eigentlich zu viel Aufwand für den von mir gesuchten Einsatzzweck.
    Aber danke soweit


Anmelden zum Antworten