Ich habe ein Problem mit dem Mausrad Ereignis. Ich habe versucht, irgendwelche Verweise darauf zu finden, fand aber immer Antworten zu verschiedenen Themen in dieser Angelegenheit. Ich habe ein Mausrad Ereignis für das gesamte Formular gemacht (das ist auch Vollbild, aber es sollte unabhängig davon funktionieren, wo die Maus ist) MouseWheel+=ChangeLength;
(oder MouseWheel += new MouseEventHandler(ChangeLength);
, ist es egal) und setzen Sie einen Haltepunkt in der ersten Zeile von es, nur um zu sehen, ob es funktioniert.C# winforms- MouseWheel Ereignis nicht wegen der Steuereigenschaften feuern
Es tat es nicht.
Ich öffnete ein leeres Projekt, um es zu testen und überraschenderweise tat es! Ich suchte dann nach der Ursache des Problems und fand heraus, dass nur zwei Linien im Designer den Unterschied ausmachen, ob das Ereignis erfolgreich ausgelöst wurde und überhaupt nicht. Die beiden Linien Wer-
this.rater.TabIndex = 15;
this.rater.Visible = false;
Wenn eine dieser Linien unkommentiert waren, nichts passiert, wenn das Mausrad scrollen, aber wenn beide wurden gelöscht oder kommentiert, es funktionierte gut. Unter Verwendung von Focus()
, Klicken auf den Bildschirm, das Ändern der Eigenschaften außerhalb des Designers und anderer bekannter Methoden hat nicht geholfen.
Ich muss hinzufügen, dass rater
ist nicht nur eine regelmäßige Kontrolle, und dies ist wahrscheinlich die Quelle für dieses seltsame Problem. Es ist ein benutzerdefiniertes Steuerelement namens ShapeRater. Ich verstehe wirklich nicht, warum und wie die Visible
und TabIndex
Eigenschaften dazu führen, dass sie völlig unabhängig sind! Außerdem löschte ich einen der Bewerter (was das Problem verursachte), weil das andere gut war, aber sobald es gelöscht wurde, fing das vorher OK an, dieses stattdessen zu verursachen.
Hat jemand eine Idee, warum das passiert und wie es zu beheben?
Vielen Dank im Voraus und tut mir leid, wenn ich nicht genau genug geschrieben habe. Dies ist meine erste Frage auf dieser Seite.