Ahmed Masud
Ahmed Masud

Reputation: 612

Switching between different forms

I have some forms in my application and need to switch between them. I dont want to open another form over other form, in short I want the user to get a feel that he is working on one form only. Right now I am doing something like this but this is not what I want

    Public Class Form1

    Dim fo As Form2


    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load


        Form2.TopLevel = False

        Me.Panel1.Controls.Add(Form2)

        Form2.Show()


    End Sub
End Class

I also need to send data to other form like list of some class.

Upvotes: 0

Views: 1391

Answers (2)

Mark Hall
Mark Hall

Reputation: 54532

Look into UserControls(Composite Controls). They will allow you create a custom layout with events and properties and add it to your panel. I have used this to swap in/out edit pages for my applications.

Here is a very simplistic example:( 1 Form, 2 Panels, 2 UserControls)

Form1

Public Class Form1

    Public Sub New()
        ' This call is required by the designer.
        InitializeComponent()
        ' Add any initialization after the InitializeComponent() call.
    End Sub

    Private Sub UserControl11_SendText(value As String) Handles UserControl11.SendText
        UserControl12.SetText(value)
    End Sub

    Private Sub UserControl12_SendText(value As String) Handles UserControl12.SendText
        UserControl11.SetText(value)
    End Sub
End Class

UserControl

Public Class UserControl1
    Public Event SendText(ByVal Text As String)

    Public Sub SetText(value As String)
        Label1.Text = value
    End Sub

    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        RaiseEvent SendText(TextBox1.Text)
    End Sub
End Class

Upvotes: 2

zimdanen
zimdanen

Reputation: 5626

Have you considered using a TabControl? This will let you create different screens, and you (or the user) can switch between them easily.

Upvotes: 0

Related Questions