网站建设资讯

NEWS

网站建设资讯

vb.net类的用法 VBNET的编程机制

VB.NET里的“类”有何用?

模块相当于一堆公开方法的集合,类相当于你平时拖的控件,在vb6里面你想自己写个控件是很复杂的,而vb.net里只需要继承自现有控件即可。就按钮来说同样是按钮类,你可以拖若干个到界面上,也就是存在若干实例或对象,而模块,通常只有一个对吧,模块相当于c#的静态类。

创新互联主要从事网站制作、成都做网站、网页设计、企业做网站、公司建网站等业务。立足成都服务源城,10多年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18980820575

vb.net 中new的具体用法?以及实例化是什么意思?.

new

就是实例化,比如实例化一个类,你才能访问,,

好比,你是张三,把你的地址告诉了我,我在能找到你家在哪,这个过程就可以称为实例化。

使用New关键字建立一个新的对象和用它属的类来定义是一样的。New关键字可以被用作来建立一个窗体、类模块以及集合的实例。用户在设计的时候建立的每一个窗体都是一个类。New关键字能够用来建立一个类的实例。

可以通过以下步骤来建立一个类的实例:

(1)在窗体上画一个按钮和几个其他的控件。

(2)按钮的Click事件过程加入以下代码:

Dim

x

AS

New

Form1

x.Show

(3)运行程序,并且点击几次按钮,把最前面的窗体移开,因为窗体是一个有可视界面的类,此时可以看见有很多窗体的拷贝,每一个窗体具有相同的控件,并且出现在一个地方。

(4)将列代码加到按钮的click事件过程中:

Dim

f

As

Form1

f=New

Form1

f.text="hello"

f.Show

使用New关键字可以从类模块中定义的类中建立一个新的集合和对象,要知道它们怎样工作,可以参考下面的例子:

(1)建立一个新的工程,并且在一个名为Form1的窗体上画一个按钮控件。

(2)在Project(项目)菜单下,选择"Add

Class"给工程添加一个类

(3)把新的类命名为ShowMe.VB

(4)在该新类中加入如下代码:

PUblic

Class

ShowMe

Sub

ShowFrm()

Dim

frmNew

As

Form1

frmNew=New

Form1

frmNew.Show()

frmNew.WindowState=1

End

Sub

End

Class

(5)在Button1_click事件的过程中加入如下代码:Protected

Sub

Button1_Click(Byval

sender

As

System.Object,_

Byval

AS

System.EventArgs)

Dim

clsNew

As

New

ShowMe()

clsNew.ShowFrm()End

Sub

运行程序,并且点击几次按钮,将看见每创建一个ShowMe类的新的实例时,在桌面上有一个最小化的窗体的图标。

New关键字只能用来建立一个类的对象,不能建立一个基于基本的数据类型的对象,例如Integer。而且,不能建立一个基于一个具体对象的对象。例如,下面的代码根据一个名为SomeClass的类,建立了一个名为Objx的对象,面后又错误地企图根据对象Objx再建立一个其他的对象:

Dim

Objx

As

New

SomeClass()

Dim

Objx

AS

New

Objx()

以上代码是非法的。

呵呵##~

vb.net中创建类

不熟悉VB,如有不妥的地方请包涵!

Public Class Stack

Dim aryData() As Integer

Sub New(ByVal Num As Integer)

Dim aryData(Num) As Integer

End Sub

Function Pop() As Integer

If (aryData.Length = 0) Then

Return 0

Else

Dim a As Integer

a = aryData(aryData.Length)

aryData(aryData.Length) = Convert.ToInt32(DBNull.Value)

Return a

End If

End Function

Sub Push(ByVal n As Integer)

For Each i As Integer In aryData

If (aryData(i) = Convert.ToInt32(DBNull.Value)) Then

aryData(i) = n

End

Else

Continue For

End If

Next

End Sub

Sub PrintStack()

For Each i As Integer In aryData

If (aryData(i) = Convert.ToInt32(DBNull.Value)) Then

End

Else

Print(aryData(i))

End If

Next

End Sub

End Class

在VB.NET中Friend的用法

Friend是用来在声明中定义访问级别的。

Public:公用,同一项目中任意位置的代码,引用该项目的其他项目,以及由该项目生成的任何程序集。

Protected:保护,同一个类内部或从该类派生的类中访问元素。

Friend:友元,从同一程序集内部访问元素,而不能从程序集外部访问。

Protected Friend:Protected 和 Friend 的联合,派生类或同一程序集内,或两者皆可。

Private:私有,仅可以从同一模块、类或结构内访问元素。

而所谓程序集的概念,可以理解为一个项目就是一个程序集,VS支持一个解决方案有多个项目,也就是一个解决方案多个程序集,比如项目A、项目B,项目A为启动项目。A要访问B首先要引用B,假设B里有个public的类myclass,类里有一个public的方法A和一个friend的方法B,按照前面说的访问级别的设定,myclass类的方法A在项目A中是可见的,而B却是不可访问的(Friend从且仅从同一程序集内部访问)。这就是区别。

P.S MSDN给的程序集的定义繁琐而难于理解,题主可以自行查阅一下。

在vb.net中怎么调用自定义类?

代码已测试。

一、测试需要的INI文件。名称为“setinfo.ini”,存放路径为你解决方案里“Bin“文件夹的”Debug“文件夹里。

内容:

[Location]

pnlTime.Location.X=787

pnlTime.Location.Y=0

[TopMost]

Top=True

二、操作INI文件的类。新建一个类,类中内容为:

Public Class Class1

Public Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" _

( _

ByVal lpApplicationName As String, _

ByVal lpKeyName As String, _

ByVal lpDefault As String, _

ByVal lpReturnedString As String, _

ByVal nSize As Int32, _

ByVal lpFileName As String _

) As Int32

End Class

三、界面代码:

Imports System.IO 'for path

Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

getINI()

End Sub

Private Sub getINI()

Dim iniclass As New Class1 '

Dim myBf As String 'get set_info 开辟存储的内存

myBf = New String(CChar(""), 256)

Dim myFN As String '配置文件的文件路径

myFN = Path.Combine(My.Application.Info.DirectoryPath, "setinfo.ini")

Dim myAN As String 'Application_NAME,也是Section名称

myAN = Me.TextBox1.Text

Dim myKN As String 'KEY_NAME,关键字名称

myKN = Me.TextBox2.Text

Class1.GetPrivateProfileString(myAN, myKN, "", myBf, myBf.Length, myFN) '调用读取INI文件的操作

TextBox3.Text = Microsoft.VisualBasic.Left(myBf, InStr(myBf, Chr(0)) - 1) '截取有用部分,有必要

End Sub

End Class

四、测试截图如下


当前文章:vb.net类的用法 VBNET的编程机制
链接URL:http://cdweb.net/article/hidjdh.html