Mega Code Archive

 
Categories / VB.Net / GUI
 

The use of MDI parent and child windows

Imports System Imports System.Drawing Imports System.Windows.Forms Imports System.IO Public Class MainClass    Shared Sub Main()         Dim myform As Form = New FrmUsingMDI()         Application.Run(myform)    End Sub ' Main End Class Public Class FrmUsingMDI    Inherits System.Windows.Forms.Form #Region " Windows Form Designer generated code "    Public Sub New()       MyBase.New()       'This call is required by the Windows Form Designer.       InitializeComponent()       'Add any initialization after the InitializeComponent() call    End Sub    'Form overrides dispose to clean up the component list.    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    ' main menu containing menu items File and Window    Friend WithEvents mnuMain As MainMenu    ' menu containing submenu New and menu item Exit    Friend WithEvents mnuitmFile As MenuItem    Friend WithEvents mnuitmExit As MenuItem    ' submenu New    Friend WithEvents mnuitmNew As MenuItem    Friend WithEvents mnuitmChild1 As MenuItem    Friend WithEvents mnuitmChild2 As MenuItem    Friend WithEvents mnuitmChild3 As MenuItem    ' menu containing menu items Cascade, TileHorizontal and     ' TileVertical    Friend WithEvents mnuitmWindow As MenuItem    Friend WithEvents mnuitmCascade As MenuItem    Friend WithEvents mnuitmTileHorizontal As MenuItem    Friend WithEvents mnuitmTileVertical As MenuItem    'Required by the Windows Form Designer    Private components As System.ComponentModel.Container    'NOTE: The following procedure is required by the Windows Form Designer    'It can be modified using the Windows Form Designer.      'Do not modify it using the code editor.    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()       Me.mnuitmTileHorizontal = New System.Windows.Forms.MenuItem()       Me.mnuitmTileVertical = New System.Windows.Forms.MenuItem()       Me.mnuitmChild1 = New System.Windows.Forms.MenuItem()       Me.mnuitmCascade = New System.Windows.Forms.MenuItem()       Me.mnuitmChild2 = New System.Windows.Forms.MenuItem()       Me.mnuMain = New System.Windows.Forms.MainMenu()       Me.mnuitmFile = New System.Windows.Forms.MenuItem()       Me.mnuitmNew = New System.Windows.Forms.MenuItem()       Me.mnuitmChild3 = New System.Windows.Forms.MenuItem()       Me.mnuitmExit = New System.Windows.Forms.MenuItem()       Me.mnuitmWindow = New System.Windows.Forms.MenuItem()       '       'mnuitmTileHorizontal       '       Me.mnuitmTileHorizontal.Index = 1       Me.mnuitmTileHorizontal.Text = "Tile Horizontal"       '       'mnuitmTileVertical       '       Me.mnuitmTileVertical.Index = 2       Me.mnuitmTileVertical.Text = "Tile Vertical"       '       'mnuitmChild1       '       Me.mnuitmChild1.Index = 0       Me.mnuitmChild1.Text = "Child1"       '       'mnuitmCascade       '       Me.mnuitmCascade.Index = 0       Me.mnuitmCascade.Text = "Cascade"       '       'mnuitmChild2       '       Me.mnuitmChild2.Index = 1       Me.mnuitmChild2.Text = "Child2"       '       'mnuMain       '       Me.mnuMain.MenuItems.AddRange(New System.Windows.Forms.MenuItem() {Me.mnuitmFile, Me.mnuitmWindow})       '       'mnuitmFile       '       Me.mnuitmFile.Index = 0       Me.mnuitmFile.MenuItems.AddRange(New System.Windows.Forms.MenuItem() {Me.mnuitmNew, Me.mnuitmExit})       Me.mnuitmFile.Text = "File"       '       'mnuitmNew       '       Me.mnuitmNew.Index = 0       Me.mnuitmNew.MenuItems.AddRange(New System.Windows.Forms.MenuItem() {Me.mnuitmChild1, Me.mnuitmChild2, Me.mnuitmChild3})       Me.mnuitmNew.Text = "New"       '       'mnuitmChild3       '       Me.mnuitmChild3.Index = 2       Me.mnuitmChild3.Text = "Child3"       '       'mnuitmExit       '       Me.mnuitmExit.Index = 1       Me.mnuitmExit.Text = "Exit"       '       'mnuitmWindow       '       Me.mnuitmWindow.Index = 1       Me.mnuitmWindow.MdiList = True       Me.mnuitmWindow.MenuItems.AddRange(New System.Windows.Forms.MenuItem() {Me.mnuitmCascade, Me.mnuitmTileHorizontal, Me.mnuitmTileVertical})       Me.mnuitmWindow.Text = "Window"       '       'FrmUsingMDI       '       Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)       Me.ClientSize = New System.Drawing.Size(360, 301)       Me.IsMdiContainer = True       Me.Menu = Me.mnuMain       Me.Name = "FrmUsingMDI"       Me.Text = "UsingMDI"    End Sub #End Region    Private childWindow As FrmChild    ' create FrmChild1 when menu clicked    Private Sub mnuitmChild1_Click( _       ByVal sender As System.Object, _       ByVal e As System.EventArgs) Handles mnuitmChild1.Click       ' create image path       Dim imagePath As String = "figure2.bmp"       ' create new child       childWindow = New FrmChild(imagePath, "Child1")       childWindow.MdiParent = Me  ' set parent       childWindow.Show()          ' display child    End Sub ' mnuitmChild1_Click    ' create FrmChild2 when menu clicked    Private Sub mnuitmChild2_Click( _       ByVal sender As System.Object, _       ByVal e As System.EventArgs) Handles mnuitmChild2.Click       ' create image path       Dim imagePath As String = "figure2.bmp"       ' create new child       childWindow = New FrmChild(imagePath, "Child2")       childWindow.MdiParent = Me  ' set parent       childWindow.Show()          ' display child    End Sub ' mnuitmChild2_Click    ' create FrmChild3 when menu clicked    Private Sub mnuitmChild3_Click( _       ByVal sender As System.Object, _       ByVal e As System.EventArgs) Handles mnuitmChild3.Click       ' create image path       Dim imagePath As String = "figure2.bmp"       ' create new child       childWindow = New FrmChild(imagePath, "Child3")       childWindow.MdiParent = Me  ' set parent       childWindow.Show()          ' display child    End Sub ' mnuitmChild3_Click    Private Sub mnuitmExit_Click(ByVal sender As System.Object, _       ByVal e As System.EventArgs) Handles mnuitmExit.Click       Application.Exit()    End Sub ' mnuitmExit_Click    Private Sub mnuitmCascade_Click(ByVal sender As System.Object, _       ByVal e As System.EventArgs) Handles mnuitmCascade.Click       Me.LayoutMdi(MdiLayout.Cascade)    End Sub ' mnuitmCascade_Click    Private Sub mnuitmTileHorizontal_Click _       (ByVal sender As System.Object, ByVal e As System.EventArgs) _       Handles mnuitmTileHorizontal.Click       Me.LayoutMdi(MdiLayout.TileHorizontal)    End Sub ' mnuitmTileHorizontal_Click    Private Sub mnuitmTileVertical_Click _       (ByVal sender As System.Object, _       ByVal e As System.EventArgs) Handles mnuitmTileVertical.Click       Me.LayoutMdi(MdiLayout.TileVertical)    End Sub End Class Public Class FrmChild    Inherits Form #Region " Windows Form Designer generated code "    Public Sub New()       MyBase.New()       'This call is required by the Windows Form Designer.       InitializeComponent()       'Add any initialization after the InitializeComponent() call    End Sub    '   Public Sub New(ByVal imageInformation As String, ByVal windowName As String)    '      Display(imageInformation, windowName)    '   End Sub    'Form overrides dispose to clean up the component list.    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    ' contains an image loaded from disk    Friend WithEvents picDisplay As PictureBox    'Required by the Windows Form Designer    Private components As System.ComponentModel.Container    'NOTE: The following procedure is required by the Windows Form Designer    'It can be modified using the Windows Form Designer.      'Do not modify it using the code editor.    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()       Me.picDisplay = New System.Windows.Forms.PictureBox()       Me.SuspendLayout()       '       'picDisplay       '       Me.picDisplay.Location = New System.Drawing.Point(8, 8)       Me.picDisplay.Name = "picDisplay"       Me.picDisplay.Size = New System.Drawing.Size(256, 208)       Me.picDisplay.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize       Me.picDisplay.TabIndex = 0       Me.picDisplay.TabStop = False       '       'FrmChild1       '       Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)       Me.ClientSize = New System.Drawing.Size(272, 221)       Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.picDisplay})       Me.Name = "FrmChild"       Me.Text = ""       Me.ResumeLayout(False)    End Sub #End Region    ' constructor    Public Sub New(ByVal picture As String, ByVal name As String)       ' call Visual Studio generated default constructor       Me.New()       ' set title       Me.Text = name       ' set image for picture box       picDisplay.Image = Image.FromFile(picture)    End Sub  ' New End Class