当前位置: 代码迷 >> VB Dotnet >> vb.net 怎么像QQ一样创建新窗口(有关问题2)
  详细解决方案

vb.net 怎么像QQ一样创建新窗口(有关问题2)

热度:25   发布时间:2016-04-25 02:06:51.0
vb.net 如何像QQ一样创建新窗口(问题2)
vb.net 如何像QQ一样创建新窗口,例如frm1是QQ聊天窗口的一个模板
1. 如何创建多个frm1实例
2.在选择其中一个实例的时候,如何知道这个实例被选择了

在主窗体FormMain.vb,我加了一个SetText按钮,frm1模板中我加了一个textbox1 如何点击主窗体的SetTex按钮 把指定的字符串赋值给 指定id的frm1的textbox1(或者说赋值给最后一个被激活的frm1实例)

麻烦给个简单的实例
------解决思路----------------------
'加两个 Button、一个 Label'
Public Class FormMain

    Private frm As frm1

    Public Sub OnFrmActivated(ByVal frm As frm1)
        Me.frm = frm
        Me.Label1.Text = "实例" & frm.id & "被选择了"
    End Sub

    Public Sub OnFrmClosed(ByVal frm As frm1)
        If Me.frm Is frm Then
            Me.frm = Nothing
        End If
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        For id As Integer = 1 To 2
            Dim frm As New frm1
            frm.id = id
            frm.Show()
        Next
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        If Not Me.frm Is Nothing Then
            Me.frm.TextBox1.Text = Now()
        End If
    End Sub

End Class

'加一个 TextBox'
Public Class frm1

    Public id As Integer

    Private Sub frm1_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Activated
        FormMain.OnFrmActivated(Me)
    End Sub

    Private Sub frm1_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
        FormMain.OnFrmClosed(Me)
    End Sub

    Private Sub frm1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Me.Text = id
    End Sub

End Class
  相关解决方案