走近VB.Net(一),VB中的族,类,对象
VB.Net是面向对象(object-oriented)的,又称为物件(object)导向(oriented)。在VB.Net中所有的变量类型都是基于object,而不是VariantDim x As Variant 会被升级为 Dim as object。如果你不理解对象,暂时你可以把他理解为一段数据,他是实际存在于内存的,所以对象以称为实例(instance)而类(class)就是类别,他定义一群对象,是一个对象的群体,并定义方法成员。所以类只是一个定义,只有在被声明为实例的对象(object instance)时才能具体 的调用。 你在调用其他的类成员时,弹出错误的对话框要求“object instace”,是因为没有声明一个实例的对象,你用类似声明变量的方法声明他们。如:dim formN as new form2 调用form2的成员方法new建立了一个对象的实例。你添加了一个窗体而并不能在程序中显示出来,是作为一个类,它并不实际存在。而现在使用formN.visible=true 就可以象以前一样调用,所以条条大路通北京。只是一个概念的转变,VB在幕后还是以前的VB。这个可能有人会反驳我反VB的变量称为对象,如果你把变量作为一个指针,不如把他看作一个变量 如:dim s as string :dim in as integer :in=123:s=in.tostring(注意VB用“:” 示换行)。In是一个变量,在基于integer的类中已定义了tostring的方法。在现在的VB中所有的方法都以这种方式内嵌于不同的类。甚至包括所有的API。虽然VB仍然支持象以前一样地使用API,除了常用的32位数据类型long应被换为integer(MSDN中称32位是最快的 )。你会感觉不方便,甚至不能达到目的。这是因为VB.Net认为你不可能再使用API,而只有形式上的支持。
在VB.Net中引入了“族”的的术语,即namespace,一般译为名称空间,思考了几个小时,我个人认为在Net中应该译为族比较合适,名字的集合示意在于对象的空间,族适用于任何对象的空间,在万事万物皆比族而分,在人亦如此。故有“非我族类,其心必异” 之语。族不离类,类不离族,族居类之上。大家可以斟酌一下,看是不是有些道理。
在VB.Net中把父类定义为族 ,已定义的族有很多,如system是最常用的族,system中包含的类几乎包容了系统的方方面面,而system较常用的子族有winforms(窗体),drawing(图形). 待定义的如一个工程,新建一个工程,工程名就是族名。
因为winforms.form类,drawing.bitmap类是最常用的,而VS7中查找的速度实在太慢,我把他摘录在下面:当然如果你的英文很好,可以到MSDN中去查找,因为是集成的IDE,如果谁能把VB的帮助整理出来就好了,我对运用成员的方法作了一些初步的探索,我希望有英文好一点的把下面的一段英文译出来,如果这样的话,任何一个初学者,即使不懂英文,看了我的系列文章。对照下面的winforms.form成员表,drawing.bitmap成员表,能力强的一定可以在几天的内初步掌握VB.Net。.新建一个工程,默认的就会有对winforms.form与 drawing.bitmap的声明。这个也是实现windows的图形界面的最重要的图径。
一。System.winforms.form 的成员(Form Members)
[注:
1.凡注明“To be supplied”是MSDN准备在将来提供的空的文档(大部分文档都是空缺的),所以没有翻译
2.我只能翻译一些常用项目,不是我懒,我没有任何中文的参考,如果弄错了就不太好
3.凡注明“Instance”的是要求对象实例,在拙作《VB.Net问题集》有详细的解释
4.其他如共享定义,基本语法等在我的系列文章中有详细的介绍,这是就不必要重复了
.................]
(一)。静态共享的属性[Public Static (Shared) Properties]
ActiveForm:返回当前的活动窗体( Gets the currently active form for this application.)
(二)。对象构造器(Public Instance Constructors)
Form Constructor:初始化一个新的实例( Initializes a new instance of the Form class.)
(三)。公用的对象(实例)属性(Public Instance Properties)
AcceptButton: Indicates the Button control on the form that when clicked, performs an action equivalent to when the user presses the ENTER key.
AccessibilityObject: (inherited from RichControl) [To be supplied.]
AccessibleDefaultActionDescription: (inherited from RichControl) The default action description of the control
AccessibleDescription: (inherited from RichControl) The accessible description of the control
AccessibleName: (inherited from RichControl) The accessible name of the control
AccessibleRole: (inherited from RichControl) The accessible role of the control
ActiveControl: (inherited from ContainerControl) Indicates the active control on the container control.
ActiveMDIChild: Gets the active multiple document interface (MDI) child window.
AllowDrop: (inherited from RichControl) The allowDrop property. If allowDrop is set to true then this control will allow drag and drop operations and events to be used.
AllowTransparency: (inherited from RichControl) [To be supplied.]
Anchor: (inherited from RichControl) The current value of the anchor property. The anchor property determines which edges of the control are anchored to the container's edges.
AutoScale: Gets or sets a value indicating whether the form adjusts its size and scale its control to fit the height of the font used on the form.
AutoScroll: Gets or sets a value indicating whether the form implements autoscrolling.
AutoScrollMargin: (inherited from ScrollableControl) Gets or sets the size of the auto-scroll margin.
AutoScrollMinSize: (inherited from ScrollableControl) Gets or sets the mimimum size of the auto-scroll.
AutoScrollPosition: (inherited from ScrollableControl) Gets or sets the location of the auto-scroll positio