0

我的应用程序中有一些表单,需要在它们之间切换。我不想在其他表单上打开另一个表单,简而言之,我希望用户感觉他只在一个表单上工作。现在我正在做这样的事情,但这不是我想要的

    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

我还需要将数据发送到其他形式,例如某个类的列表。

4

2 回答 2

2

查看UserControls(Composite Controls)。它们将允许您创建带有事件和属性的自定义布局并将其添加到您的面板中。我用它来换入/换出我的应用程序的编辑页面。

这是一个非常简单的例子:(1个表单,2个面板,2个用户控件)

表格1

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

用户控制

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
于 2012-05-02T00:47:46.323 回答
0

您是否考虑过使用TabControl?这将让您创建不同的屏幕,并且您(或用户)可以轻松地在它们之间切换。

于 2012-05-02T00:38:56.353 回答