2012-08-06 139 views
1

我想显示多个窗体相等,首先声明一个Form类型的变量,然后设置该变量的名称,然后显示它,但我不能有成功。声明新窗体变量类型VB.NET

它不显示任何新窗口。

Dim from_var As New Form 
from_var = inventory_stat_item 

With from_var 
    .MdiParent = main 
    .StartPosition = FormStartPosition.CenterScreen 
    .Show() 
End With 

UPDATE: 变量应具有以下形式的名称:(inventory_stat_item | inventory_edit_item | inventory_new_item)

+0

您添加到from_var的'Forms'是否已经创建? – 2012-08-06 01:57:48

+0

这是对的,我只是在变量 – 2012-08-06 02:00:36

回答

2

你应该能够做你想做的只要您事先创建并更新Forms即可。像这个快速和肮脏的例子。

Public Class Form1 
    Dim inventory_stat_item As Form2 = New Form2 
    Dim inventory_edit_item As Form3 = New Form3 
    Dim inventory_new_item As Form4 = New Form4 
    Public Sub New() 

     ' This call is required by the designer. 
     InitializeComponent() 

     ' Add any initialization after the InitializeComponent() call. 

     showForms(inventory_edit_item) 
     showForms(inventory_new_item) 
     showForms(inventory_stat_item) 

    End Sub 

    Private Sub showForms(from_var As Form) 
     With from_var 
      .MdiParent = Me 
      .StartPosition = FormStartPosition.CenterScreen 
      .Show() 

     End With 
    End Sub 
End Class 
+0

内声明这个形式正是我所需要的,非常感谢你 – 2012-08-06 02:18:02

+0

@JohnNuñez不客气 – 2012-08-06 02:19:28

1

你不能做到这一点。每一个你叫New inventory_stat_item他们创建了新的对象引用。

必须拆分代码

调用一次(例如:当窗体加载),当用户点击的东西

With from_var 
    .MdiParent = Me 
    .StartPosition = FormStartPosition.CenterScreen 
    .Show() 
End With 

Dim from_var As New inventory_stat_item