Visual Basic .NET支持動態(tài)屬性,其動態(tài)屬性儲存在一個應(yīng)用程序配置文件中,該文件在應(yīng)用程序執(zhí)行時將會被讀到。使用動態(tài)屬性可以在不重新編譯應(yīng)用程序的情況下改變一些屬性值。你可以使用它們保存數(shù)據(jù)庫連接字符串、應(yīng)用程序日志信息或者服務(wù)器連接信息。
目前創(chuàng)新互聯(lián)建站已為千余家的企業(yè)提供了網(wǎng)站建設(shè)、域名、雅安服務(wù)器托管、網(wǎng)站托管、服務(wù)器租用、企業(yè)網(wǎng)站設(shè)計、孝感網(wǎng)站維護等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
要看動態(tài)屬性的例子,首先在Visual Basic中創(chuàng)建一個Windows應(yīng)用程序。添加一個TextBox到默認窗體中;確認TextBox是被選中的,然后在屬性窗口中定位Dynamic屬性。
點擊Advanced標簽旁邊的省略號按鈕,打開一個對話框,該對話框中列出了TextBox所有的屬性,選擇Text屬性,鍵映射框?qū)患せ?。鍵映射決定了鍵儲存在配置文件中的值。點擊確定關(guān)閉對話框。
注意下你給ButtonTop的Image屬性賦值的地方,你的屬性SET里是針對【上】這個類的改變,你如果這樣寫是觸發(fā)不了屬性改變的:
ButtonTop.背景?=?Image.FromFile("C:/1.png")
正確的處理辦法應(yīng)該是new一個【上】類的對象,初始化時進行賦值就可以了
Me.ButtonTop?=?New?Class1()?With?{.背景?=?Image.FromFile("C:/1.png")}
如控件自身無法設(shè)置滾動條,那就在父容器控件中(如FORM)使用滾動條解決問題。另外,也可將日期控件放在彈出窗口中,
Property用于標識一個類成員為屬性而不是方法.屬性可以被獲取,屬性在被獲以的時候利用get句柄返回其值.屬性可以被賦值,這個過程是由set句柄完成的.這兩個句柄可以不同時存在.如果只有g(shù)et而沒有set,那屬性就是只讀的.如果只有set而沒有g(shù)et,那屬性就是只寫的.
就是定義了兩個屬性:s_name和s_sex
Overridable 表示這個屬性可以被重載。
“結(jié)構(gòu)”是 Visual Basic 早期版本支持的用戶定義類型 (UDT) 的一般化。除字段外,結(jié)構(gòu)還可以公開屬性、方法和事件。結(jié)構(gòu)可以實現(xiàn)一個或多個接口,而您可以分別為每個字段聲明訪問級別。
可以合并不同類型的數(shù)據(jù)項來創(chuàng)建結(jié)構(gòu)。結(jié)構(gòu)將一個或多個“元素”彼此關(guān)聯(lián)并且將它們與結(jié)構(gòu)本身關(guān)聯(lián)。聲明了結(jié)構(gòu)后,它將成為“復(fù)合數(shù)據(jù)類型”,而您可以聲明該類型的變量。
想讓單個變量持有幾個相關(guān)信息時結(jié)構(gòu)很有用。例如,您可能想將一個雇員的姓名、電話分機號和薪金放在一起??梢詫@些信息使用幾個變量,或者可以定義一個結(jié)構(gòu)并將它用于單個雇員變量。當有許多雇員并且因此有該變量的許多實例時,結(jié)構(gòu)的優(yōu)點變得非常明顯。
使用 Structure 語句語句作為結(jié)構(gòu)聲明的開始,并使用 EndStructure 語句作為結(jié)構(gòu)聲明的結(jié)束。在這兩條語句之間必須至少聲明一個“元素”。元素可以是任何數(shù)據(jù)類型,但是至少一個必須是非共享變量,或是非共享非自定義事件。
不能在結(jié)構(gòu)聲明中初始化任何結(jié)構(gòu)元素。如果將一個變量聲明為結(jié)構(gòu)類型,則可以通過變量訪問元素來給它們賦值。
聲明一個結(jié)構(gòu):
可以使用 Public、Protected、Friend或Private關(guān)鍵字指定結(jié)構(gòu)的訪問級別,或者使用默認值 Public。如:
Private Structure employee
End Structure
向結(jié)構(gòu)體添加元素:
結(jié)構(gòu)必須具有至少一個元素。必須聲明結(jié)構(gòu)的每個元素并指定其訪問級別。如果使用不含任何關(guān)鍵字的 Dim 語句 (Visual Basic),則可訪問性默認值為 Public。如:
Private Structure employee
Public givenName As String
Public familyName As String
Public phoneExtension As Long
Private salary As Decimal
Public Sub giveRaise(raise As Double)
salary *= raise
End Sub
Public Event salaryReviewTime()
End Structure
---------------------------
另外,關(guān)于你的問題,請參考下面C++/C對自定義類型的比較:
1、在C++中,不需使用typedef
struct Structure1 {
char c;
int i;
float f;
double d;
};
int main() {
struct Structure1 s1, s2;
s1.c = 'a'; // Select an element using a '.'
s1.i = 1;
s1.f = 3.14;
s1.d = 0.00093;
s2.c = 'a';
s2.i = 1;
s2.f = 3.14;
s2.d = 0.00093;
}
2、在C中,需用typedef定義
typedef struct {
char c;
int i;
float f;
double d;
} Structure2;
int main() {
Structure2 s1, s2;
s1.c = 'a';
s1.i = 1;
s1.f = 3.14;
s1.d = 0.00093;
s2.c = 'a';
s2.i = 1;
s2.f = 3.14;
s2.d = 0.00093;
}
首先,你已經(jīng)完成的步驟是:
1.新建一個用戶控件[注意,用戶控件(UserControl)不是自定義控件(CustomControl)]
2.給用戶控件起個名字(我在此處起名叫 RadioList)
3.在用戶控件上畫一個 GroupBox,命名為 RadioGroup,
并將其 Dock 屬性設(shè)置為 Fill
然后,你需要做的是動態(tài)增減控件。
如果你以前用過 VB 6,你可能會想到控件數(shù)組,
但在此處,你可以直接增刪控件。
具體實現(xiàn)如下:
4.在 GroupBox 里畫一個 FlowLayoutPanel,命名為 RadioPanel,
將其 AutoScroll 屬性設(shè)置為 True,即自動顯示滾動條,
并設(shè)置其 FlowDirection 屬性(例如設(shè)置為 TopDown)
這樣就省去了手動調(diào)整 RadioButton 位置的麻煩
5.實現(xiàn)選項的動態(tài)增減(以下只是我的思路,你可以發(fā)揮一下)
(十分簡潔,注釋除外):
''' summary
''' 創(chuàng)建一個新的 RadioButton。
''' /summary
Private Function CreateRadio() As RadioButton
Dim NewRadio As New RadioButton
components.Add(NewRadio)
'components 字段由控件設(shè)計器自動創(chuàng)建,
'此代碼目的是使控件在銷毀(Dispose)時能自動銷毀 RadioButton
'詳情參見 RadioList.Designer.vb
NewRadio.Parent = RadioPanel
'設(shè)置容器
AddHandler NewRadio.CheckedChanged, AddressOf RadioButtons_CheckedChanged
'設(shè)置事件處理程序
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)
'在此處設(shè)置選中項的屬性,通過 sender 來確定不同的 OptionButton
'你可以通過將 OptionButton 放在一個列表,
'如 List(Of OptionButton) 中來像數(shù)組一樣維護選項的次序
'注意,此處需要判斷 sender 的 Checked 屬性是否為 True
'因為 Changed 是“改變”,而不是“選中”
'例如:
If DirectCast(sender, RadioButton).Checked Then
SelectedIndex = ...
End If
End Sub
名稱欄目:vb.net自定義屬性 vb中自定義函數(shù)
轉(zhuǎn)載源于:http://www.rwnh.cn/article28/doocecp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、建站公司、外貿(mào)建站、網(wǎng)站制作、企業(yè)網(wǎng)站制作、自適應(yīng)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)