代码已测试。
站在用户的角度思考问题,与客户深入沟通,找到围场网站设计与围场网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站建设、成都网站制作、企业官网、英文网站、手机端网站、网站推广、域名申请、网站空间、企业邮箱。业务覆盖围场地区。
一、测试需要的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
四、测试截图如下
人类是一个类,你是人,我是人,都是人类的实例(instance),或称对象(object)。一个类描述一类事物,描述这些事物所应具有的属性,如人有身长、体重、文化程度、性别、年龄、民族等。
一个对象是类的一个实例,它具有确定的属性,如张三(人的实例)身高180,体重70公斤,大学本科,男,21岁,汉族。
人类只有一个,人类的实例可以有无数个。
对象可以被创建和销毁,但类是无所不在的。
例如,桌子是一个类, 人们不断打造各种尺寸和风格(属性)的桌子(桌子的实例),打造桌子, 又不断毁坏桌子,年复一年,旧的去了,新的又来,但桌子的概念没变,它是一个抽象的概念。应该称它为桌子类,以区别于打造的具体桌子。
模块相当于一堆公开方法的集合,类相当于你平时拖的控件,在vb6里面你想自己写个控件是很复杂的,而vb.net里只需要继承自现有控件即可。就按钮来说同样是按钮类,你可以拖若干个到界面上,也就是存在若干实例或对象,而模块,通常只有一个对吧,模块相当于c#的静态类。
Structure是值类型,classe是引用类型 Structure用栈来分配; classe用堆来分配 structure的成员默认情况下是公共的,而Class的成员变量和常量默认情况下是私有的而其它成员默认情况下是公共的.这与VB6是相兼容的。 structure必须至少有一个非共享的成员变量或事件成员,class可以完全是空的. Structure的成员不能声明成Protected; class成员可以. 一个structure过程只能在它是一个Shared Sub时才能handle events而且只能通过AddHandler语句;而任何class过程都可以handle events,既可以用Handles关键字或 AddHandler语句。 Structure variable declarations cannot specify initializers, the New keyword, or initial sizes for arrays; class variable declarations can. Structure继承自ValueType类,不能从其它任何类型继承; classes可以从任何不是ValueType的类继承 Structure不能继承而Class可以 Structure从来不析构terminated因此common language runtime (CLR)从来不调用它的Finalize方法,classe由垃圾回收器进行析构, 当没有任何对该类的引用时调用它的Finalize方法 structure 不需要一个构造函数,而Class需要 Structure只能有带参数的非共享的构造函数; classes 可以有带或不带参数的构造函数. 每个Structure都有一个默认的不带参数的构造函数以对其成员进行初始化,你可以重新定义该函数
和其它语言是一样的
写法不同而已
类关键字
在下面的例子中,代码包含了一个关键字End
Class。这是一个新的关键字,使用它的目的是为了在一个源文件中包含多个类,这点正是VB.NET与VB6在创建类区别的精髓所在。每当我们在VB.NET中创建类的时候,我们只是简单地将所有的的代码包含在Class和End
Class
之间。例子代码如下:
Public护鸡篙课蕻酒戈旬恭莫
Class
TheClass
Public
Sub
MyWorks()
End
Sub
End
Class
另外在一个特定的源文件(后缀名为.vb)中,我们可以使用多个Class...End
Class块。
希望能帮到你