成都网站建设设计

将想法与焦点和您一起共享

vb.net重载msdn vb函数重载

我学了vb6.0,能用vb2005吗。他们在操作上区别大不大?控件有没有区别?

总体来说,操作上区别不大,

江永网站建设公司创新互联,江永网站设计制作,有大型网站制作公司丰富经验。已为江永近千家提供企业网站建设服务。企业网站搭建\外贸营销网站建设要多少钱,请找那个售后服务好的江永做网站的公司定做!

都是在一个空白的窗体上面画控件,

基本控件总体变化不大,

而且预设的控件量很多,

基本上不用再倒入其他什么玩艺儿了……

(.NET 里是没有 ActiveX 控件这么一说的,大家平起平坐)

可是代码的变化很大,关键字啊变化都挺大的……

比如,在控件方面,控件的文本属性都是 Text,而没有 Caption 这么一说

不过 Value 属性依然保留。

Form 的 Show 方法被拆成了 Show 和 ShowDialog,顾名思义。

Unload 方法被 Form 的 Close 方法代替。

在对控件的事件处理方面,VB 6.0 使用方法的名称来定义事件处理程序,

而在 .NET 中使用 Handles 语句来定义,

并且可以用 AddHandler 来在运行时定义事件处理程序。

在关键字方面,

VB.NET 使用 Class、Module 关键字来标记一个模块,

就像 Sub、Function 一样,

而不是以文件区分,

即一个文件里能放多个模块。

而且 VB.NET 能够提供完备的 OOP 支持,

较 VB6.0 相比,

可以使用 Inherit 关键字来实现类的继承,

因此“基类”、“派生”、“重写”不再是 C 的专利。

于是又出现了 MyBase 关键字用于表示当前实例(Me)的基类,

在 .NET 里,和“我”有关的关键字包括:Me、My、MyBase、MyClass。

随之而来的是与可继承性有关的 Overridable、MustInherit、MustOverride、NotInheritable、NotOverridable、Protected,

与继承相关的 Inherit、Override 关键字。

另外,VB.NET 支持成员重载,即使用相同的名称与不同的参数来区分不同的成员。

而且,在 .NET 框架中,

有一个用来将不同的模块分开的容器,命名空间(Namespace 关键字),使模块井井有条,减少了命名冲突的发生。

比如内置的各种控件都定义在System.Windows.Forms 命名空间里。

在数据类型方面,

在 .NET 框架中,所有的类型(包括继承自 ValueType 的 String、Integer、作为各种枚举的基类的Enum类型等)都继承自 Object 类型,即 Object 取代了 Variant。

而 Object 有一个很方便的 ToString 函数,在 CStr 不管用的时候可以用这个。

而且,在 .NET 中,考虑到程序的性能,

不建议使用后期绑定,例如:

(VB 6.0)

Dim V1 As String, V2 As String

V2 = V1 * 50

在 .NET 中,

如果文件头部有 Option Strict [On],

或是(建议)在工程设置里打开这一选项,

第二行就会报错,

因为*不是适用于 String 的操作符,

而在 VB 6.0里会自动执行转换,

如果是在 VB.NET,建议执行强制转换:

(VB.NET)

Dim V1 As String, V2 As String

V2 = CStr(CInt(V1) * 50)

同理,

(VB 6.0)

Dim Obj As Object

Set Obj = TextBox1

Obj.Text = “Hello World!”

第三行就会报错,

因为 Caption 不是 Object 的属性,

而是 TextBox 的属性,

解决方案是,使用早期绑定:

(VB.NET)

TextBox1.Text = “Hello World!”

如果需要,可以使用:

DirectCast(Obj, TextBox).Text = “Hello World!”

与此相关的新式转换关键字包括 CType、DirectCast、TryCast、CObj

尽管看起来累赘些,

但可以避免过度的随意性。

由此,许多在 VB 6.0里不是很明朗的东西变得豁然开朗,

比如我们设计的窗体其实继承自 Form 类,

而 Form 类又继承自 Object,因此我们可以使用:

(VB 6.0)

Dim FormInstance As Form

Set FormInstance = New Form1

而不会报错。

说到这里,.

NET 不支持默认属性,

即:

(VB 6.0)

Command1 = “Hello World!”

等价于:

Command1.Caption = “Hello World!”

而在 .NET 中没有 Set 关键词:

(VB.NET)

Dim Ctl As Control

Ctl = Command1

只能先说到这里了……

有点多,

总之是 .NET 很强大,

过渡不是没有可能,

但要多看 MSDN。

vb.net msdn 哪有下载

vb.net的MSDN都在微软的网站上,因为微软每天都在更新MSDN的内容,当然也有离线版,不过容量太大(10多G),不建议安装,如果要装的话,请参考:

如何正确掌握VB.NET操作缩放图像

在VB.NET操作缩放图像中的显示和保存缩放图像,用到Image和Graphics类,在VSDotNet2K3下面Reference里自动添加了引用System.Drawing,直接用就行。

实现VB.NET操作缩放图像代码如下:DimimgAsImageImage=Image.FromFile

(D:\Image\tstImage.jpg)

''tstImage是原先的图片DimgrfxAsGraphics=Me

.CreateGraphics

grfx.DrawImage(img,0,0,img.Width*

3,img.Height*3)''在Form里显示

DimimgnewAsNewSystem.Drawing.Bitmap

(img,img.Height*3,img.Width*3)

''新建一个放大的图片

imgnew.Save(D:\Image\tstNewImage.jpg,

System.Drawing.Imaging.ImageFormat.Jpeg)

''保存放大后图片

你可以建一个Form,然后在Form里拖进一个Button,把上面的代码放在Button_Click事件里面源码天空

,执行就行了。

对上面VB.NET操作缩放图像代码的解释:

1.要获取Graphics对象只能从某一事件的参数中获取或者使用窗体和控件对象的CreateGraphics方法来获取-----上面代码使用Me.CreateGraphics来引用这个对象。

2.加载一个图片用Image类的FromFile或者FromStream方法

3.用DrawImage来显示一个图片,该方法有30多个重载方法,可以查MSDN了解细节。

4.保存时的一个问题:我们必须先建一个对象,用于存缩放图像。

vb.net的VS2010不知道有没msdn帮助文档。

msdn文档在网页上有,浏览器打开就可以看到了。如果想看某个类库的介绍的话,直接在网址后面加上完整命名空间,比如就行了

vb.net的重写和重载是什么?

我们都知道,面向对象语言的三大特征是:封装、继承和多态。而重写和重载是多态的两种表现形式。多态,顾名思义,就是指多种形态。而重写和重载正好体现了这一点。现在我们以 VB.NET 语言来说明两者的区别。

重写是发生在父类与子类之间的关系。具体来讲就是子类可以重写父类的现有的方法。它要求子类的方法名称及参数必须与父类完全一致。比如吃饭,父亲可以吃两碗面,孩子同样也是吃面,却只能吃一碗。

重载则主要是发生在同一个类当中的,它通过多个名称相同的方法,但方法参数不相同,或者方法返回类型不相同来加以区别。其中,方法参数不相同包括以下几种情况:参数的个数不相同,参数的类型不相同,参数的对应位置不相同。需要说明的是,重载同样可以应用到父类与子类当中。即子类重载了父类的方法。

重写:

在 VB.NET 中,重写汲及到的关键字有:

OverRidable: 在父类中声明的可以在子类中重写的方法。

OverRides: 在子类中声明的要重写父亲中可重写的方法。

MustOverRide: 在父类中,表示这个方法必须在子类中重写。此时,该类必须声明为抽象类。

NotOverridable: 如果当前类还有子类,那么,在其子类中,该方法不允许被重写。

重载:

在 VB.NET 中,重载用到的关键是 OverLoads。

这里需要说明几点:

1. 对于在同一类当中,一组名称相同的方法或函数重载时,可以加关键字 OverLoads 或者不加。但如果其中有一个方法加上,那同组其它方法也必须加该关键字。

2. 如果该方法是重载父类中的方法。那么必须加 OverLoads 关键字。

3. 如果两个同名函数仅返回类型不相同,则它们不能重载,即必须在参数上有所不同。


文章题目:vb.net重载msdn vb函数重载
转载注明:http://chengdu.cdxwcx.cn/article/doodgpp.html