Alle Codes komplett kopieren.
MDI Code:
Public Class MDIForm
Inherits System.Windows.Forms.Form
#Region " Vom Windows Form Designer generierter Code "
Public Sub New()
MyBase.New()
InitializeComponent()
End Sub
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub
Private components As System.ComponentModel.IContainer
Friend WithEvents btnPaste As System.Windows.Forms.Button
Friend WithEvents btnOpenMDIChild As System.Windows.Forms.Button
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
Me.btnPaste = New System.Windows.Forms.Button
Me.btnOpenMDIChild = New System.Windows.Forms.Button
Me.SuspendLayout()
Me.btnPaste.Location = New System.Drawing.Point(96, 0)
Me.btnPaste.Name = "btnPaste"
Me.btnPaste.Size = New System.Drawing.Size(96, 32)
Me.btnPaste.TabIndex = 0
Me.btnPaste.Text = "Einfügen"
Me.btnOpenMDIChild.Location = New System.Drawing.Point(0, 0)
Me.btnOpenMDIChild.Name = "btnOpenMDIChild"
Me.btnOpenMDIChild.Size = New System.Drawing.Size(96, 32)
Me.btnOpenMDIChild.TabIndex = 0
Me.btnOpenMDIChild.Text = "Öffne MDIChild"
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
Me.ClientSize = New System.Drawing.Size(912, 477)
Me.Controls.Add(Me.btnPaste)
Me.Controls.Add(Me.btnOpenMDIChild)
Me.IsMdiContainer = True
Me.Name = "MDIForm"
Me.Text = "MDIParent"
Me.ResumeLayout(False)
End Sub
#End Region
Private Sub btnOpenMDIChild_Click(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles btnOpenMDIChild.Click
' MDI Child Form erstellen und zeigen
Dim f As New frmMdiChild
f.MdiParent = Me 'dem FrmChild mitteilen, zu welchem MDI Container es
' gehört
f.Show()
End Sub
Private Sub btnPaste_Click(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles btnPaste.Click
For Each form As Form In Me.MdiChildren ' mit For Each durch das
' Children Forms Array "gehen"; die var. "Form" ist vom Type "Form"
If form.GetType Is GetType(frmMdiChild) Then ' ist die gefundene
' Form vom Type "frmMdiChild"
Dim path As String = Environment.GetEnvironmentVariable( _
"SYSTEMROOT") + "\winnt.bmp" ' Pfad für ein Bild
CType(form, frmMdiChild).torbox.Image = Image.FromFile(path)
CType(form, frmMdiChild).Label1.Text = path
' CType(form, frmMdiChild) = Die Var. "Form" ist vom Type Form,
' da aber das MDI Child vom Type "frmMdiChild" ist, muss
' diese in diesen Type umgewandelt werden. Da ja ein PictureBox
' mit Namen "torbox" nur auf der Form "frmMdiChild" vorhanden
' ist.
End If
Next
End Sub
End Class MDI Child Code
Public Class frmMdiChild
Inherits System.Windows.Forms.Form
#Region " Vom Windows Form Designer generierter Code "
Public Sub New()
MyBase.New()
InitializeComponent()
End Sub
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub
Private components As System.ComponentModel.IContainer
Friend WithEvents Label1 As System.Windows.Forms.Label
Friend WithEvents torbox As System.Windows.Forms.PictureBox
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
Me.Label1 = New System.Windows.Forms.Label
Me.torbox = New System.Windows.Forms.PictureBox
Me.SuspendLayout()
Me.Label1.Location = New System.Drawing.Point(8, 320)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(824, 24)
Me.Label1.TabIndex = 0
Me.torbox.Location = New System.Drawing.Point(8, 8)
Me.torbox.Name = "torbox"
Me.torbox.Size = New System.Drawing.Size(424, 304)
Me.torbox.TabIndex = 1
Me.torbox.TabStop = False
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
Me.ClientSize = New System.Drawing.Size(848, 357)
Me.Controls.Add(Me.torbox)
Me.Controls.Add(Me.Label1)
Me.Name = "frmMdiChild"
Me.Text = "frmMdiChild"
Me.ResumeLayout(False)
End Sub
#End Region
End Class Probier es erstmal aus.
Steve |