Die Community zu .NET und Classic VB.
Menü

VB 5/6-Tipp 0102: Ereignisse bei dynamisch erstellten Steuerelemente zulassen

 von 

Beschreibung 

Was ist wenn für ein zur Laufzeit erstelltes Control ein Ereignis abgefragt werden muß? Solange es sich dabei nicht um ein Control-Feld handelt ist dies mit der Deklaration 'WithEvents' möglich. Für dieses Beispiel wird ein Formular und ein Modul benötigt.

Schwierigkeitsgrad:

Schwierigkeitsgrad 2

Verwendete API-Aufrufe:

keine

Download:

Download des Beispielprojektes [2,37 KB]

'Dieser Quellcode stammt von http://www.activevb.de
'und kann frei verwendet werden. Für eventuelle Schäden
'wird nicht gehaftet.

'Um Fehler oder Fragen zu klären, nutzen Sie bitte unser Forum.
'Ansonsten viel Spaß und Erfolg mit diesem Source!

'------------- Anfang Projektdatei Project1.vbp -------------
'--------- Anfang Formular "Form1" alias Form1.frm  ---------
' Steuerelement: Schaltfläche "Command1"

Option Explicit

Private WithEvents Form2 As Form
Private WithEvents Form3 As Form
Private WithEvents Form4 As Form

Private Sub Command1_Click()
  If CNT = 0 Then
    Set Form2 = New Form1
    Set Form3 = New Form1
    Set Form4 = New Form1
    
    Form2.Show
    Form3.Show
    Form4.Show
    
    Form2.Caption = "Form2"
    Form3.Caption = "Form3"
    Form4.Caption = "Form4"

    CNT = 3
  Else
    MsgBox ("Das reicht, wer soll die alle schließen ?")
  End If
End Sub

Private Sub Form2_Unload(Cancel As Integer)
  MsgBox ("Form2 wird geschlossen")
  CNT = CNT - 1
  Set Form2 = Nothing
End Sub

Private Sub Form3_Unload(Cancel As Integer)
  MsgBox ("Form3 wird geschlossen")
  CNT = CNT - 1
  Set Form3 = Nothing
End Sub

Private Sub Form4_Unload(Cancel As Integer)
  MsgBox ("Form4 wird geschlossen")
  CNT = CNT - 1
  Set Form4 = Nothing
End Sub
'---------- Ende Formular "Form1" alias Form1.frm  ----------
'--------- Anfang Modul "Module1" alias Module1.bas ---------
Public CNT%
'---------- Ende Modul "Module1" alias Module1.bas ----------
'-------------- Ende Projektdatei Project1.vbp --------------

Tipp-Kompatibilität:

Windows/VB-VersionWin32sWin95Win98WinMEWinNT4Win2000WinXP
VB4
VB5
VB6

Hat dieser Tipp auf Ihrem Betriebsystem und mit Ihrer VB-Version funktioniert?

Ja, funktioniert!

Nein, funktioniert nicht bei mir!

VB-Version:

Windows-Version:

Ihre Meinung  

Falls Sie Fragen zu diesem Artikel haben oder Ihre Erfahrung mit anderen Nutzern austauschen möchten, dann teilen Sie uns diese bitte in einem der unten vorhandenen Themen oder über einen neuen Beitrag mit. Hierzu können sie einfach einen Beitrag in einem zum Thema passenden Forum anlegen, welcher automatisch mit dieser Seite verknüpft wird.