Hallo ich habe in visual basic eine kleine Oberfläche programmiert nur da der Code mittlerweile ziemlich unübersichtlich wird möchte ich einige Teile "auslagern". Bei Funktionen habe ich da keine Probleme nur ich weiss nicht wie ich Ereignisse auslagern soll. Beispiel: Wie kann ich alle Ereignisse die mit einer Toolbar zusammenhängen wie Private Sub ToolBar1_ButtonClick(...) Handles ToolBar1.ButtonClick in ein Modul einfügen, wobei sich Toolbar1 in Form1 befindet. Ich habe es schon mit: Dim test As New Form1() Public WithEvents test1 As New Form1() versucht. So konnte ich die Ereignisse von Form1 auswählen, die aber nicht auslösten. Gruß triple2448
Mit Public WithEvents test1 As New Form1() erstellst du eine neue Instanz der Form1. Die hat natürlich auch Events, die lösen aber nicht dann aus, wenn die für die Original-Form auslösen. Hab grade kein VB zum Testen da, aber probier mal Public WithEvents test1 As Form1 und irgendwo an geeigneter Stelle (z.B. Init-Routine, falls du sowas hast): Set test1 = Form1
das mit dem test1 = Form1 geht nicht bzw es kommt eine Fehlermendung. Das Set wird "wegoptimiert" und Form1 ist vom Typ type und kann nicht zugewiesen werden. Als Notlösung habe ich jetzt mit #region und #end region zumindest die Möglichkeit bestimmte Teile auszublenden. Gruß triple2448
Hab vergessen das ich .net verwende. das Toolbar1_ButtonClick ist nur der Name der Funktion und hat keine Bedeutung. Das Ereignis wird durch die Handels Anweisung beschrieben (s.o.) So, wie ich es oben gemacht habe kommt immerhin keine Fehlermeldung, nur das Programm beschwert sich auch nicht wenn ich z.B. Form1.Sizechanged in einem Modul wie oben benutze und gleichzeitig in Form1.vb. Gruß Triple2448
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.