我是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