我是vb.net編程的初學者,我對創建控件略有困惑。看來,當我在線上下面的代碼我看到的是交替使用:vb.net以編程方式創建控件
Dim x As Button
Dim y As New Button()
甚至
Dim z As New System.Windows.Forms.Button()
它無論我怎樣聲明變量?提前致謝。
我是vb.net編程的初學者,我對創建控件略有困惑。看來,當我在線上下面的代碼我看到的是交替使用:vb.net以編程方式創建控件
Dim x As Button
Dim y As New Button()
甚至
Dim z As New System.Windows.Forms.Button()
它無論我怎樣聲明變量?提前致謝。
System.windows.forms.Button
與聲明Button
相同。您只需導入System.windows.forms
命名空間。這是除非你已經在不同的命名空間中創建自己的按鈕類,但我懷疑你有。
類名稱後面的括號將創建該類的未定義大小的數組。沒有括號正在創建該類的一個實例。
創建控件的新實例時需要使用new
關鍵字。沒有它,您創建的變量將需要分配給相同類型的現有對象。鑑於您希望以編程方式創建按鈕,您應該使用new
關鍵字。
看一看這些教程的基本介紹創建類 http://www.homeandlearn.co.uk/net/nets11p2.html http://visualbasic.about.com/od/quicktips/qt/shared_member.htm
這聲明瞭一個名爲x的Button類型的變量。你不能使用它,直到你指定它。
Dim x As Button
這個實例化一個按鈕並將它分配給y。給人yoiu可用按鈕「被稱爲」 Y
Dim y As New Button()
甚至
這是X相同,但採用的是完全合格的名稱,例如對來自Jacob.Perkins.Button區別,如果你已經發明瞭你自己的。
Dim z As New System.Windows.Forms.Button()
所以是的,它確實很重要。
何時使用new,wehn需要創建(實例化)一個。
在.NET
Dim x as Button
// followed by
x = new Button()
// is the same as
Dim x as new Button()
昏暗x作爲按鈕所聲明的變量名爲x是預期的「點到」按鈕的實例。
如果你說x = 36,你會得到一個編譯器錯誤,因爲36不是按鈕,它是一個數字。如果你說x = Button1和Button1存在於你的表單上,那麼這就好了,當然它也是一個按鈕。
在某一點的唯一途徑「理解」這個東西它開始嘗試它..沒有什麼可怕的會發生,保持簡單,當你閱讀的錯誤消息,您犯任何錯誤都會變得明顯。
我仍然感到困惑。你什麼時候使用「新」和「()」,你什麼時候不想使用它們。 – 12japerk 2012-01-07 02:37:54
除了括號外,我得到了一切。當你說「它創建了一個未定義的大小的數組」時,你是什麼意思?請把它放下來好嗎? :P後 – 12japerk 2012-01-07 03:21:17
括號中的類的名稱沒有創建的陣列。當您使用New關鍵字時,您正在初始化該控件的新實例。這將調用該控件的默認構造函數,該構造函數被定義爲Public Sub New()。控件名稱後面的括號用於將任何參數傳遞給構造函數。由於該按鈕沒有任何參數被傳入,因此只剩下括號。 – briddums 2012-01-07 03:25:52
謝謝,你的回答是非常有益的 – 12japerk 2012-01-07 03:30:08