重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

vb.net中自定义对象,vb自定义类

VB.NET 如何带参数构造函数对象或是类

public structure struc

站在用户的角度思考问题,与客户深入沟通,找到岑溪网站设计与岑溪网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站制作、成都做网站、外贸营销网站建设、企业官网、英文网站、手机端网站、网站推广、空间域名、网络空间、企业邮箱。业务覆盖岑溪地区。

public name as string

public shengao as integer

……

end structure

public items as struc()

readonly property people(argname as string) as struc

get

for each i as struc in items

if i.name=argname then reture i

next

end get

end property

struc可以用class,property可以用function,people通过参数返回一个对象,对象可以来源于某个数组的某个元素,也可以是其他来源。

people也可以是类的构造方法,而shengao等是类的成员,但你的写法是错误的,构造方法必须用new实例化

vb如何定义一个有属性的对象

用type关键字定义(VB.NET是Structure关键字)

或者定义一个class.VB6是类模块,VB.NET就是class类

例(VB6)

type Point

X as Integer

Y as Integer

end type

条用 dim zuobiao as point

zuobiao.x=你想要的X

zuobiao.y=你想要的Y

VB.NET

Structure Point

Dim X As Integer

Dim Y As Integer

End Structure

条用,要先创建实例对象

Dim X As New Point

X.X = 0

X.Y = 0

vb.net自定义控件问题

首先,你已经完成的步骤是:

1.新建一个用户控件[注意,用户控件(UserControl)不是自定义控件(CustomControl)]

2.给用户控件起个名字(我在此处起名叫 RadioList)

3.在用户控件上画一个 GroupBox,命名为 RadioGroup,

并将其 Dock 属性设置为 Fill

然后,你需要做的是动态增减控件。

如果你以前用过 VB 6,你可能会想到控件数组,

但在此处,你可以直接增删控件。

具体实现如下:

4.在 GroupBox 里画一个 FlowLayoutPanel,命名为 RadioPanel,

将其 AutoScroll 属性设置为 True,即自动显示滚动条,

并设置其 FlowDirection 属性(例如设置为 TopDown)

这样就省去了手动调整 RadioButton 位置的麻烦

5.实现选项的动态增减(以下只是我的思路,你可以发挥一下)

(十分简洁,注释除外):

''' summary

''' 创建一个新的 RadioButton。

''' /summary

Private Function CreateRadio() As RadioButton

Dim NewRadio As New RadioButton

components.Add(NewRadio)

'components 字段由控件设计器自动创建,

'此代码目的是使控件在销毁(Dispose)时能自动销毁 RadioButton

'详情参见 RadioList.Designer.vb

NewRadio.Parent = RadioPanel

'设置容器

AddHandler NewRadio.CheckedChanged, AddressOf RadioButtons_CheckedChanged

'设置事件处理程序

Return NewRadio

End Function

''' summary

''' 移除已存在的 RadioButton。

''' /summary

Private Sub RemoveRadio(ByVal dest As RadioButton)

components.Remove(dest)

dest.Dispose()

End Sub

'无中生有的 RadioButton 的事件处理程序

Private Sub RadioButtons_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)

'在此处设置选中项的属性,通过 sender 来确定不同的 OptionButton

'你可以通过将 OptionButton 放在一个列表,

'如 List(Of OptionButton) 中来像数组一样维护选项的次序

'注意,此处需要判断 sender 的 Checked 属性是否为 True

'因为 Changed 是“改变”,而不是“选中”

'例如:

If DirectCast(sender, RadioButton).Checked Then

SelectedIndex = ...

End If

End Sub

vb.net 自定义类属性的问题?

注意下你给ButtonTop的Image属性赋值的地方,你的属性SET里是针对【上】这个类的改变,你如果这样写是触发不了属性改变的:

ButtonTop.背景 = Image.FromFile("C:/1.png")

正确的处理办法应该是new一个【上】类的对象,初始化时进行赋值就可以了

Me.ButtonTop = New Class1() With {.背景 = Image.FromFile("C:/1.png")}

vb.net 如何引用自定义类库

在项目A里添加引用,在“添加引用”对话框里找到项目B就可以了。也可以先把项目B生成dll文件,然后在项目A中添加对这个dll文件的引用。

在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中自定义对象,vb自定义类
新闻来源:http://cqcxhl.cn/article/dsgpodj.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP