Ereignisverarbeitung unterdrücken

05/06/2008 - 16:00 von Joachim Hofmann | Report spam
Hallo,

ich habe ein Steuerelement, eine abgeleitete Combobox, die das DropDown-Ereignis
enthàlt und also Code dazu.

Ich würde nun gerne in meinem Code, der dieses o.g. Steuerelement benutzt, beim
Ereignis DropDown NICHTS tun lassen, sondern dieses abfangen; unterdrücken.

Geht sowas?

Danke

Joachim
 

Lesen sie die antworten

#1 Elmar Boye
05/06/2008 - 16:57 | Warnen spam
Hallo Joachim,

Joachim Hofmann schrieb:
ich habe ein Steuerelement, eine abgeleitete Combobox, die das
DropDown-Ereignis enthàlt und also Code dazu.

Ich würde nun gerne in meinem Code, der dieses o.g. Steuerelement
benutzt, beim Ereignis DropDown NICHTS tun lassen, sondern dieses
abfangen; unterdrücken.



Das eigentliche Ereignis wird von ComboBox.OnDropDown ausgelöst,
rufst Du das nicht auf, so entfàllt das Ereignis, wie unten gezeigt.
In Deinem Fall solltest Du Deinen Code dort ausführen.

Zusàtzlich sollte man dann auch das Ereignis im Designer und für
andere im Code "verstecken", damit nicht eines Tages jemand daran
verzweifelt, dass das Ereignis nicht ausgelöst wird - das erledigen
die Attribute für das Event.

Gruß Elmar

Imports System.ComponentModel

Public Class ComboBoxNoDropDown
Inherits System.Windows.Forms.ComboBox

Protected Overrides Sub OnDropDown(ByVal e As System.EventArgs)
' Unterdrückt das Ereignis
'MyBase.OnDropDown(e)
End Sub

' Verstecken im Designer und Editor
<Browsable(False), EditorBrowsable(EditorBrowsableState.Never)> _
Public Shadows Event DropDown As EventHandler
End Class

Ähnliche fragen