mikrocontroller.net

Forum: PC-Programmierung Visual Basic


Autor: triple2448 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: der mechatroniker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: triple2448 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Toni (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Probier mal 'Form1.ToolBar1_ButtonClick(...)'

Toni

Autor: triple2448 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.