Dialog1是您要創建的對象的類型。
Dim oDialog1 as Dialog1 = Dialog1
是等於說
MyCat is a Cat, and it's a Cat.
沒有引起太大的意義。
如果您需要了解貓的腿數,或者貓是毛茸茸的,那麼您可以說Cat.CountLegs,但是您不能說Cat.GetName或Cat.Age,因爲您不知道哪個你正在談論的貓。
這與您的Dialog相同。
Dim oDialog1 as Dialog1 = Dialog1
是不是指任何具體的對話,只是Dialog1在一般情況下,這是沒有意義的(而且不應該在2008年VB.NET編譯)。
凡爲
Dim oDialog1 as Dialog1 = New Dialog1
是給你一個全新的Dialog1,叫oDialog1。你所問的關於oDialog1的一切都會給你通用的,關於Dialog1對象的默認設置。
Dialog1不會有位置,因爲它還不存在。但是,因爲你已經通過使用new關鍵字創建了一個新的實例,oDialog1將是您的Dialog1類型的第一個目的 - 你可以給它一個位置等
如果你打電話
Dim oDialog2 as Dialog1 = New Dialog1
那麼你就必須 Dialog1的 - 每一個單獨的位置等
這將有助於使更多的意義,如果你給Dialog1和oDialog1更好的名稱,如分別UserConfirmationDialog和confirmExit。
然後它會成爲像
Dim confirmExit as UserConfirmationDialog = New UserConfirmationDialog.
,並可能
Dim confirmDelete as UserConfirmationDialog = New UserConfirmationDialog.
三江源邁克爾。我已將對話框更改爲具有相同結果的表單。如果我使用Dim oForm1 = NEW Form1,它不會檢索(例如)oForm1.RadioButton1.Checked狀態。如果我放下NEW它正確地檢索RadioButton狀態? – 2010-10-12 05:06:45
啊,這是因爲您的應用程序在您啓動應用程序時爲您創建了一個新窗體。這有點棘手。 Form1是對象的類型(即,您可以根據需要啓動儘可能多的Form1)。您的用戶需要在程序啓動時看到某些內容,以便運行時自動爲您創建一個Form1實例,並且無論出於何種原因它都會*調用新實例「Form1」。這就是造成混亂的原因。你有兩個不同的名稱 - 一個模板和一個實際的表單。電腦瞭解正在發生的事情,但這對我們來說是令人困惑的。 – 2010-10-12 21:55:53