当前位置:首页 > 代码 > 正文

包含vb.net代码解释的词条

admin 发布:2022-12-19 15:47 90


本篇文章给大家谈谈vb.net代码解释,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

初学VB.NET四天`高手帮我注释一下代码

html

head

�script language="VB" runat="server"

��Sub Page_Load(sender As Object, e As EventArgs) '在页面加载时发生的事件

���If Not IsPostBack Then '如果不是IsPostBack的话

����Dim values as ArrayList= new ArrayList() '新建一个名为values的数组列表

'以下代码中,往values中添加项目

����values.Add ("北京")

����Values.Add ("上海")

����Values.Add ("天津")

����Values.Add ("哈尔滨")

'设置下拉列表框的数据源为values

����DropDown1.DataSource = values

����DropDown1.DataBind

���End If

��End Sub

�/script

/head

body

�form runat="server"

���asp:DropDownList ID="DropDown1" runat="server" /

�/form

/body

/html

html

head

��script language="VB" runat="server"

����Sub Page_Load(sender As Object, e As EventArgs) '在页面加载时发生的事件

������If Not IsPostBack Then '如果不是IsPostBack的话

��������Dim values as ArrayList= new ArrayList() '新建一个名为values的数组列表

'以下代码中,往values中添加项目

��������values.Add (0)

��������values.Add (1)

��������values.Add (2)

��������values.Add (3)

��������values.Add (4)

��������values.Add (5)

��������values.Add (6)

'设置下拉列表框的数据源为values

��������DataList1.DataSource = values

��������DataList1.DataBind

������End If

����End Sub

定义一个名为EvenOrOdd的函数,参数有number,返回一个字符串

����Function EvenOrOdd(number As Integer) As String

������If (number Mod 2 0) Then '如果number÷2的余数不等于0

�������Return "奇数" '返回“奇数”

������Else '否则

�������Return "偶数" '返回“偶数”

������End If

����End Function

��/script

/head

body

��form runat="server"

���asp:DataList id="DataList1" runat="server"

����BorderColor="#000000"

����BorderWidth="1"

����GridLines="Both"

����CellPadding="3"

����CellSpacing="0"

����

����ItemTemplate

�����数字值: %# Container.DataItem %

�����偶/奇: %# EvenOrOdd(Container.DataItem) %

����/ItemTemplate

���/asp:DataList

��/form

/body

/html

其他ASP的代码实在不懂了

跪求VB.NET代码的基本解释

什么代码?

可以贴一些出来吗?感觉很抽象

private

私有

sub

子程序,相当于方法

在VB.net中看到的一段代码,求高手解析下。

这是捕捉键盘热键,例如QQ写的一个抓屏功能,同时按下Ctrl+Alt+A 就会自动 跳出抓屏。

也就是说上面这段代码自动获取到的热键符合Ctrl+Alt+A 的命令,所以才会执行事件。

If m.Msg = WM_SYSCOMMAND Then' 如果m 的热键码 有系统命令 执行以下事件。

用最简单的代码介绍一下指针在VB.net里面的用法?

例1:以下程序我们申请几个指向不同类型的指针:

’使用StructLayout(LayoutKind.Sequential)属性告诉net编译器:结构的元素在内存中按其出现的顺序排列

StructLayout(LayoutKind.Sequential) _

Public Structure DEFUDT_Test

Public bytb As Byte

Public i32a As Int32

End Structure

Public Function fnGetIntptr1() As IntPtr

’取得一个4字节数组指针

Dim tabytTest(3) As Byte

’以下语句告诉net垃圾回收进程不对tabytTest进行处理,也就是说tabytTest占用的内存区域固定不变。

Dim thObject As GCHandle = GCHandle.Alloc(tabytTest, GCHandleType.Pinned)

Dim tpObject As IntPtr = thObject.AddrOfPinnedObject() ’取得指向字节数组的指针

’取得一个指向32位内存数据的指针,

’由于使用gchandle取指针的方法只能对引用的对象有效,

’所以对如int32等值类型必须使用将其封装成为一个对象的方法以变为引用类型

Dim ti32Test As Object = Convert.ToInt32(0)

’以下语句告诉net垃圾回收进程不对ti32test进行处理,也就是说ti32Test的内存位置固定不变。

Dim thObject1 As GCHandle = GCHandle.Alloc(ti32Test, GCHandleType.Pinned)

Dim tpObject1 As IntPtr = thObject1.AddrOfPinnedObject() ’取得ti32Test的首地址

Dim tudtTest1 As DEFUDT_Test

’由于结构是一种值类型变量,为保证指针申请方便,我们申请

’取得一个和结构tudtTest1大小一致的字节数组指针,只要空间占用长度和结构一样就可以了

’由于net在结构封装中会插入额外的数据位,所以一定要用sizeof方法得到结构在非托管使用时的实际大小

Dim tudtTest(Marshal.SizeOf(tudtTest1)) As Byte

Dim thObject2 As GCHandle = GCHandle.Alloc(tudtTest, GCHandleType.Pinned)

Dim tpObject2 As IntPtr = thObject2.AddrOfPinnedObject() ’取得指向结构的指针

’在这儿你可以写对指针处理的任意代码(在例2中会给予补充)……

’在使用完毕后一定要释放指针指向的内存块,让垃圾回收器可对这个内存块回收处理

If thObject.IsAllocated Then

thObject.Free()

End If

If thObject1.IsAllocated Then

thObject1.Free()

End If

If thObject2.IsAllocated Then

thObject2.Free()

End If

End Function

上例中指针流程处理可以归纳为:

1、 定义一个具有合适内存长度的引用变量(关于引用变量和值变量的差异可以参观VB.NET的书籍)

2、使用GCHandle.Alloc方法将变量的内存区域固定下来。

3、使用GCHandle对象的AddrOfPinnedObject取得该内存区域的首地址并赋值给指针变量.

4、对指针进行操作

5、使用GCHandle对象的free方法释放指针指向的内存区域以便net垃圾回收器可以回收这个内存空间

2、指针所指向数据的存取

在.net中,对指针指向数据的存储函数都封装在marshal类中,主要的函数包括:Copy、PtrToStringUni 、PtrToStructure 、OffsetOf、WriteXXX,RreadXXX等,其中WriteXXX的表示向指针所表示的地址中写入XXX类型的数据,而ReadXXX中作用就是将指针所在地址的数据以XXX类型方式读出。看例程2,我们使用这些方法演示对例1那几个指向不同类型数据的指针作数据存/取操作。

例2:演示向例1申请得到的几个指针执行写入及读取数据的操作.

Marshal.WriteInt32(tpObject1, 0, Convert.ToInt32(77)) ’向ti32Test变量指向的地址写入32位整数77

MsgBox("现在ti32Test的值为:" ti32Test) ’因为变量存储地址的数据已改为77,所以显示为77

’以下这句之所以可行,因为ti32Test是32位整数,而tpObject指向的tabytTest数组刚好有4个元素

’而每一个byte元素都占用8位,合起来就是32位,和ti32Test占用的空间一样。这就印证了前面提’

’到的net中指针没有指向类型的说明。

Marshal.WriteInt32(tpObject, 0, ti32Test)

’以下代码再将tabytTest字节数组的内容理解为一个int32整数,

’并将值赋值给tudtTest结构中的int32元素

’我们使用Marshal.OffsetOf(GetType(DEFUDT_Test), "i32a").ToInt32以取得i32a元素在结构中的内存偏移位置

’所以New IntPtr(tpObject2.ToInt32 + Marshal.OffsetOf(GetType(DEFUDT_Test), "i32a").ToInt32)就临时产生了

’一个指针并指向i32a所在的内存地址(, 这个方法也说明了指针可以以字节为单位进行加减计算以指向合适的变量。

’Marshal.ReadInt32的作用是从指针中读取一个32整数。

Marshal.WriteInt32(New IntPtr(tpObject2.ToInt32 + Marshal.OffsetOf(GetType(DEFUDT_Test), "i32a").ToInt32), _

0, Marshal.ReadInt32(tpObject))

’这儿可以将字节数组的内容复制到真正的结构中

MsgBox(Marshal.OffsetOf(tudtTest1.GetType, "i32a").ToInt32)

tudtTest1 = CType(Marshal.PtrToStructure(tpObject2, GetType(DEFUDT_Test)), DEFUDT_Test)

MsgBox("结构tidtTest1中i32a元素的值为:" tudtTest1.i32a) ’此处将显示刚赋的值77

vb.net求大神解释

这个一般是一个Form类的构造函数。

MyBase.New ( )是调用父类的构造函数,InitializeComponent ( )是调用自己的InitializeComponent 方法。一般你在VS里拖界面,VS会自动帮你生成这个方法的实现,里面是用代码实现你拖出来的界面布局。

关于vb.net中属性的定义

Property用于标识一个类成员为属性而不是方法.属性可以被获取,属性在被获以的时候利用get句柄返回其值.属性可以被赋值,这个过程是由set句柄完成的.这两个句柄可以不同时存在.如果只有get而没有set,那属性就是只读的.如果只有set而没有get,那属性就是只写的.

就是定义了两个属性:s_name和s_sex

Overridable 表示这个属性可以被重载。

vb.net代码解释的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、vb.net代码解释的信息别忘了在本站进行查找喔。

版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;

本文地址:http://ahzz.com.cn/post/11085.html


取消回复欢迎 发表评论:

分享到

温馨提示

下载成功了么?或者链接失效了?

联系我们反馈

立即下载