注意下你給ButtonTop的Image屬性賦值的地方,你的屬性SET里是針對(duì)【上】這個(gè)類的改變,你如果這樣寫(xiě)是觸發(fā)不了屬性改變的:
專注于為中小企業(yè)提供成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)大名免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了近1000家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
ButtonTop.背景?=?Image.FromFile("C:/1.png")
正確的處理辦法應(yīng)該是new一個(gè)【上】類的對(duì)象,初始化時(shí)進(jìn)行賦值就可以了
Me.ButtonTop?=?New?Class1()?With?{.背景?=?Image.FromFile("C:/1.png")}
用type關(guān)鍵字定義(VB.NET是Structure關(guān)鍵字)
或者定義一個(gè)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
條用,要先創(chuàng)建實(shí)例對(duì)象
Dim X As New Point
X.X = 0
X.Y = 0
當(dāng)用戶可以設(shè)置或者得到屬性的值的時(shí)候,這些屬性就在改變。有此屬性可以在設(shè)計(jì)的時(shí)候改變。用戶可以在屬性窗口設(shè)置這些屬性的值,而不需要寫(xiě)任何代碼,而有些代碼在設(shè)計(jì)的時(shí)候是不能改變的,所以必須在運(yùn)行的程序中寫(xiě)入一些設(shè)置屬性的值的代碼。
那些可以在運(yùn)行的時(shí)候設(shè)置和讀取的屬性被稱作"read-write"屬性。而那些只能在運(yùn)行的時(shí)候讀取的代碼稱為"read-only"屬性。
1.設(shè)置屬性值
當(dāng)需要改變一個(gè)對(duì)象的外觀或者行為時(shí),就可以改變對(duì)象的屬性值。例如可以通過(guò)改變一個(gè)textbox控件的Text屬性值,來(lái)改變Textbox里面的內(nèi)容。
設(shè)置一個(gè)屬性的值,可以用以下的語(yǔ)法:
object.property=expression
如下一些實(shí)例:
TextBox1.Top=200 '讓Top屬性值為200
TextBox1.Visible=True '顯示TextBox
TextBox1.Text="hello" '在TextBox中顯示"hello"
2.得到屬性的值
當(dāng)代碼要對(duì)一個(gè)對(duì)象進(jìn)行一些操作時(shí),用戶可能需要得到一個(gè)對(duì)象的狀態(tài),例如,在對(duì)一個(gè)TextBox控件進(jìn)行下一步操作時(shí),可能需要得知TextBox的text屬性的值,等等。
通常情況下,用戶可以通過(guò)下面這樣的語(yǔ)法得到一個(gè)對(duì)象的屬性值:
variable=object.property
用戶可以把一個(gè)對(duì)象的屬性值作為一個(gè)復(fù)雜表達(dá)式的一部分,而不需要先把屬性值賦給一個(gè)變量再進(jìn)行計(jì)算,下面這個(gè)例子就是改變一個(gè)radio按鈕的屬性的代碼:
Private Sub cmdAdd_Click()
'[statements]
RadioButton1.Top=RadioButton1.top+20
'[statements]
End Sub
注意:如果用戶需要多次使用一個(gè)屬性值的話,那么先把屬性值賦給一個(gè)變量,將會(huì)使效率更快一點(diǎn)。
Property用于標(biāo)識(shí)一個(gè)類成員為屬性而不是方法.屬性可以被獲取,屬性在被獲以的時(shí)候利用get句柄返回其值.屬性可以被賦值,這個(gè)過(guò)程是由set句柄完成的.這兩個(gè)句柄可以不同時(shí)存在.如果只有g(shù)et而沒(méi)有set,那屬性就是只讀的.如果只有set而沒(méi)有g(shù)et,那屬性就是只寫(xiě)的.
就是定義了兩個(gè)屬性:s_name和s_sex
Overridable 表示這個(gè)屬性可以被重載。
如果是VB.NET的話
直接在Class中寫(xiě):
讀取/設(shè)置 屬性
Public Property 屬性名() As 類型
Get
Return(屬性返回值)
End Get
Set(ByVal value As 類型)
傳入變量 = value
End Set
End Property
只讀屬性
Public ReadOnly Property 屬性名() As 類型
Get
Return(屬性返回值)
End Get
End Property
只寫(xiě)屬性
Public WriteOnly Property 屬性名() As 類型
Set(ByVal value As 類型)
傳入變量 = value
End Set
End Property
C#中的話就比較靈活了
public 類型 屬性名
{
get
{
return 變量或函數(shù);
}
set
{
傳入變量 = value;
}
}
根據(jù)你需要的只讀或只寫(xiě)來(lái)增加或刪除get 和 set 快
Public Class ControlValue
Inherits Control
''' summary
''' 獲取或設(shè)置控件的值。
''' /summary
System.ComponentModel.Browsable(True)
System.ComponentModel.Category("布局")
System.ComponentModel.Description("獲取或設(shè)置控件的值。")
Public Property Value As String
End Class