Public Class ControlValue
成都创新互联公司主营叶城网站建设的网络公司,主营网站建设方案,成都APP应用开发,叶城h5小程序设计搭建,叶城网站营销推广欢迎叶城等地区企业咨询
Inherits Control
''' summary
''' 获取或设置控件的值。
''' /summary
System.ComponentModel.Browsable(True)
System.ComponentModel.Category("布局")
System.ComponentModel.Description("获取或设置控件的值。")
Public Property Value As String
End Class
'代码来源:代码街codejie.net
'由于在vb.net里变量名不区分大小写(StuName和stuname是一样的),所以个别变量名需要修改
'在vb.net中,模块级变量的命名原则是以m_开头
Public Class Student
Private m_stuNo As String '学生号字段
Private m_stuName As String '学生姓名字段
Private m_stuAge As Integer '学生年龄字段
Private m_stuAddress As String '学生住址字段
'无参构造方法
Public Sub New()
End Sub
'有参构造方法
Public Sub New(ByVal stuNo As String, ByVal stuName As String, ByVal stuAge As Integer, ByVal stuAddress As String)
m_stuNo = stuNo
m_stuName = stuName
m_stuAge = stuAge
m_stuAddress = stuAddress
End Sub
'学生号属性
Public Property StuNo() As String
Get
Return m_stuNo
End Get
Set(ByVal value As String)
m_stuNo = value
End Set
End Property
'学生姓名属性
Public Property StuName() As String
Get
Return m_stuName
End Get
Set(ByVal value As String)
m_stuName = value
End Set
End Property
'学生年龄属性
Public Property StuAge() As Integer
Get
Return m_stuAge
End Get
Set(ByVal value As Integer)
m_stuAge = value
End Set
End Property
'学生住址属性
Public Property StuAddress() As String
Get
Return m_stuAddress
End Get
Set(ByVal value As String)
m_stuAddress = value
End Set
End Property
End Class
注意下你给ButtonTop的Image属性赋值的地方,你的属性SET里是针对【上】这个类的改变,你如果这样写是触发不了属性改变的:
ButtonTop.背景 = Image.FromFile("C:/1.png")
正确的处理办法应该是new一个【上】类的对象,初始化时进行赋值就可以了
Me.ButtonTop = New Class1() With {.背景 = Image.FromFile("C:/1.png")}
Property用于标识一个类成员为属性而不是方法.属性可以被获取,属性在被获以的时候利用get句柄返回其值.属性可以被赋值,这个过程是由set句柄完成的.这两个句柄可以不同时存在.如果只有get而没有set,那属性就是只读的.如果只有set而没有get,那属性就是只写的.
就是定义了两个属性:s_name和s_sex
Overridable 表示这个属性可以被重载。
当用户可以设置或者得到属性的值的时候,这些属性就在改变。有此属性可以在设计的时候改变。用户可以在属性窗口设置这些属性的值,而不需要写任何代码,而有些代码在设计的时候是不能改变的,所以必须在运行的程序中写入一些设置属性的值的代码。
那些可以在运行的时候设置和读取的属性被称作"read-write"属性。而那些只能在运行的时候读取的代码称为"read-only"属性。
1.设置属性值
当需要改变一个对象的外观或者行为时,就可以改变对象的属性值。例如可以通过改变一个textbox控件的Text属性值,来改变Textbox里面的内容。
设置一个属性的值,可以用以下的语法:
object.property=expression
如下一些实例:
TextBox1.Top=200 '让Top属性值为200
TextBox1.Visible=True '显示TextBox
TextBox1.Text="hello" '在TextBox中显示"hello"
2.得到属性的值
当代码要对一个对象进行一些操作时,用户可能需要得到一个对象的状态,例如,在对一个TextBox控件进行下一步操作时,可能需要得知TextBox的text属性的值,等等。
通常情况下,用户可以通过下面这样的语法得到一个对象的属性值:
variable=object.property
用户可以把一个对象的属性值作为一个复杂表达式的一部分,而不需要先把属性值赋给一个变量再进行计算,下面这个例子就是改变一个radio按钮的属性的代码:
Private Sub cmdAdd_Click()
'[statements]
RadioButton1.Top=RadioButton1.top+20
'[statements]
End Sub
注意:如果用户需要多次使用一个属性值的话,那么先把属性值赋给一个变量,将会使效率更快一点。
在vb.net窗口程序里测试你的代码没有问题,所以应该是其他问题.
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
Protected Sub s_Msg()
Dim cust As New custinfo()
cust.CpName = "公司"
MsgBox(cust.CpName)
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
s_Msg()
End Sub
End Class