Ich bin ein Anfänger mit VB.Net. Ich habe ein Formular und ich muss die Ereignisse aller Steuerelemente in einem Formular behandeln, indem Sie ein externes Klassenmodul verwenden. Wie kann ich dies tun, indem ich nur das Parameterformular an diese Klasse übergebe? Danke Freunde.Behandeln Ereignisse aller Steuerelemente in einem VB.net-Formular aus einem Klassenmodul
-2
A
Antwort
0
Nach ein bisschen Herumalbern - das funktioniert.
Erstellen Sie Ihre Ereignisbehandlungsklasse entweder am Ende der Hauptformulardatei nach End Class
mit all Ihren Ereignisbehandlungscode - oder in einer anderen Datei - es spielt keine Rolle. Solange alle Ihre Subs in der neuen Klasse mit dem Shared-Schlüsselwort deklariert sind. - wie diese
Friend Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Shown
End Sub
End Class
Public Class OtherClass
Public Shared Sub test2(sender As Object, e As EventArgs)
MessageBox.Show("hi")
End Sub
End Class
In Ihrem Haupt-Code, müssen Sie AddHandler verwenden Sie den Code in der anderen Klasse, um die Ereignisse zu abonnieren - wie dieses
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Shown
AddHandler Button1.Click, AddressOf otherclass.test2
End Sub
jetzt also - basierend auf dem obigen Code, Wenn Sie auf die Schaltfläche klicken, wird eine MessageBox angezeigt, die zeigt Hi
Verwandte Themen
- 1. Suchen aller Steuerelemente in einem ASP.NET-Panel?
- 2. Variablen Mit einem Klassenmodul Feld zuzugreifen
- 3. WPF: Ändern der Schriftart aller Steuerelemente in einem bestimmten Container
- 4. Windows Forms-Steuerelemente in einem scrollbaren Steuerelement und Ereignisse
- 5. Abonnieren von Mausereignissen aller Steuerelemente in Formular
- 6. Ereignisse in ES6-Ecksteuerungen behandeln
- 7. Entfernen aller CSS aus Telerik-Steuerelemente
- 8. Machen Sie ein DAO-Recordset in einem Klassenmodul persistent
- 9. jQuery Plugin: Ereignisse behandeln
- 10. Anzeige aller Dateinamen aus einem bestimmten Ordner
- 11. GraphX - Abrufen aller Knoten aus einem Pfad
- 12. Ereignisse aus einem eingebetteten SVG-Dokument abrufen
- 13. Erzwingen Löschen aller Dateien aus einem Ordner
- 14. Summe aller Werte aus einem PHP-Array
- 15. Steuerelemente in UpdatePanel verlieren JQuery-Ereignisse
- 16. Ereignisse mit PowerShell behandeln?
- 17. Ereignisse mit C# -Erweiterungsmethoden behandeln
- 18. Wie richte ich die Steuerelemente in einem StatusStrip rechts aus?
- 19. Liste aller Tkinter-Ereignisse
- 20. Zugriff auf RepeaterItem-Steuerelemente in einem EventHandler
- 21. Umgang mit einem Klick für alle Steuerelemente in einem Formular
- 22. Entfernen aller Elemente aus einem Kombinationsfeld in Java
- 23. Verknüpfen aller Elemente in einem NSMutableArray zu einem NSString
- 24. Steuerelemente in einem TableLayoutPanel vertikal ausrichten
- 25. MVVM in JavaFX. Steuerelemente mit einem Datenmodell
- 26. Schleife durch einige Steuerelemente in einem Formular
- 27. Fokussieren Sie die Steuerelemente in einem Tabcontrol
- 28. Holen Sie sich verfügbare Steuerelemente aus einem Formular mit C#
- 29. VB WPF So behandeln Sie ein Klickereignis in einem KontextmenuItem in einem Objekt in einem ResourceDictionary
- 30. Schriftart aller Überschriften in einem Word-Dokument
Alle Ereignisse oder nur bestimmte? Da alle Steuerelemente in einem Formular über die öffentliche Eigenschaft "Controls" verfügbar gemacht werden, ist es relativ einfach, alle diese Steuerelemente zu durchlaufen und auf jedem einen Ereignishandler hinzuzufügen. Wenn Sie Steuerelemente verschachtelt haben, ist das etwas schwieriger, aber immer noch machbar. Aber, wenn Sie * alle * Ereignisse behandeln wollen, würde das etwas Reflexion erfordern. –
Können Sie erklären, was das eigentliche Problem ist, das Sie lösen möchten, anstatt zu fragen, was Sie Ihrer Meinung nach implementieren sollten? –