2012-08-06 121 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