vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
vb@rchiv Offline-Reader - exklusiv auf der vb@rchiv CD Vol.4  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Re: Zugriff von Benutzersteuerelement auf Parent-Objekt (Form) 
Autor: Manfred X
Datum: 17.11.11 21:51

Hallo!

Dein Zugriff kann nicht klappen, weil die Instanz Form2 zwar
in der Auflistung des Parent-Control enthalten ist,
aber Du sprichst mit "Form2" nicht diese Instanz, sondern
eine Default-Instanz der Klasse Form2 an.

Wenn Du das Parentformular eines Usercontrols über einen
Vorgang informieren möchtest, kannst Du z.B. ein Event im
Usercontrol auslösen, das ggf. im Parent-Formular verarbeitet
wird.

Zugriffsvariable auf Steuerelemente werden gewöhnlich nicht innerhalb
einer Routine deklariert, sondern unter Verwendung von "WithEvents"
im Deklarationsteil (hinter Class/Inherits).

Vielleicht hilft dieses Beispiel(ucDemo1 in ucDemo2 auf Form1).
'In ein Klassenmodul einfügen
Imports System.Windows.Forms
Public Class ucDemo1
    Inherits UserControl
 
    Dim WithEvents mylabel As New Label _
    With {.Parent = Me, .Dock = DockStyle.Top, .Text = "UC1-Label"}
    Dim WithEvents mybutton As New Button With _
    {.Parent = Me, .Dock = DockStyle.Bottom, .Text = "UC1-Button"}
 
    Public Event uc1_click(ByVal sender As Object, ByVal e As EventArgs)
 
    Private Sub mybutton_Click(ByVal sender As Object, _
    ByVal e As System.EventArgs) Handles mybutton.Click
        RaiseEvent uc1_click(Me, e)
    End Sub
 
End Class
 
Public Class ucDemo2
    Inherits UserControl
 
    Public Event uc1Button_click(ByVal sender As Object, ByVal e As EventArgs)
 
    Dim WithEvents myUC As New ucDemo1 With _
    {.Parent = Me, .Dock = DockStyle.Top, .Text = "UC1-Label"}
    Dim WithEvents mybutton As New Button With _
    {.Parent = Me, .Dock = DockStyle.Bottom, .Text = "UC2-Button"}
 
    Private Sub myUC_Click(ByVal sender As Object, _
         ByVal e As System.EventArgs) Handles myUC.uc1_click
        RaiseEvent uc1Button_click(sender, e)
    End Sub
 
    Private Sub mybutton_Click(ByVal sender As Object, _
        ByVal e As System.EventArgs) Handles mybutton.Click
        MyBase.OnClick(e)
    End Sub
End Class
 
'In ein Formular einfügen
Public Class Form1
 
    Dim WithEvents uc2DemoInst As New ucDemo2 _
    With {.Parent = Me, .Dock = DockStyle.Fill}
 
    Private Sub UcDemo21_uc1Button_click(ByVal sender As Object, _
        ByVal e As System.EventArgs) _
        Handles uc2DemoInst.uc1Button_click
        MsgBox("Der Button in UC1Demo ist geclickt worden")
    End Sub
 
    Private Sub UcDemo21_Click(ByVal sender As Object, _
        ByVal e As System.EventArgs) Handles uc2DemoInst.Click
        MsgBox("Der Button in UC2Demo ist geclickt worden")
    End Sub
 
End Class
MfG
Manfred

Beitrag wurde zuletzt am 17.11.11 um 21:52:26 editiert.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Zugriff von Benutzersteuerelement auf Parent-Objekt (Form)3.432chris_DD17.11.11 19:05
Re: Zugriff von Benutzersteuerelement auf Parent-Objekt (For...3.017Manfred X17.11.11 19:28
Re: Zugriff von Benutzersteuerelement auf Parent-Objekt (For...2.916chris_DD17.11.11 21:26
Re: Zugriff von Benutzersteuerelement auf Parent-Objekt (For...3.082Manfred X17.11.11 21:51

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel