vb.net自定義屬性 vb中自定義函數(shù)

如何在VB.NET中使用動(dòng)態(tài)屬性

 Visual Basic .NET支持動(dòng)態(tài)屬性,其動(dòng)態(tài)屬性?xún)?chǔ)存在一個(gè)應(yīng)用程序配置文件中,該文件在應(yīng)用程序執(zhí)行時(shí)將會(huì)被讀到。使用動(dòng)態(tài)屬性可以在不重新編譯應(yīng)用程序的情況下改變一些屬性值。你可以使用它們保存數(shù)據(jù)庫(kù)連接字符串、應(yīng)用程序日志信息或者服務(wù)器連接信息。

目前創(chuàng)新互聯(lián)建站已為千余家的企業(yè)提供了網(wǎng)站建設(shè)、域名、雅安服務(wù)器托管、網(wǎng)站托管、服務(wù)器租用、企業(yè)網(wǎng)站設(shè)計(jì)、孝感網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶(hù)導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶(hù)和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。

要看動(dòng)態(tài)屬性的例子,首先在Visual Basic中創(chuàng)建一個(gè)Windows應(yīng)用程序。添加一個(gè)TextBox到默認(rèn)窗體中;確認(rèn)TextBox是被選中的,然后在屬性窗口中定位Dynamic屬性。

點(diǎn)擊Advanced標(biāo)簽旁邊的省略號(hào)按鈕,打開(kāi)一個(gè)對(duì)話(huà)框,該對(duì)話(huà)框中列出了TextBox所有的屬性,選擇Text屬性,鍵映射框?qū)?huì)被激活。鍵映射決定了鍵儲(chǔ)存在配置文件中的值。點(diǎn)擊確定關(guān)閉對(duì)話(huà)框。

vb.net 自定義類(lèi)屬性的問(wèn)題?

注意下你給ButtonTop的Image屬性賦值的地方,你的屬性SET里是針對(duì)【上】這個(gè)類(lèi)的改變,你如果這樣寫(xiě)是觸發(fā)不了屬性改變的:

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

正確的處理辦法應(yīng)該是new一個(gè)【上】類(lèi)的對(duì)象,初始化時(shí)進(jìn)行賦值就可以了

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

vb.net 控件屬性設(shè)置

如控件自身無(wú)法設(shè)置滾動(dòng)條,那就在父容器控件中(如FORM)使用滾動(dòng)條解決問(wèn)題。另外,也可將日期控件放在彈出窗口中,

關(guān)于vb.net中屬性的定義

Property用于標(biāo)識(shí)一個(gè)類(lèi)成員為屬性而不是方法.屬性可以被獲取,屬性在被獲以的時(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里怎么實(shí)現(xiàn)自定義數(shù)據(jù)類(lèi)型,就是實(shí)現(xiàn)C++中TypeDef一樣的功能

“結(jié)構(gòu)”是 Visual Basic 早期版本支持的用戶(hù)定義類(lèi)型 (UDT) 的一般化。除字段外,結(jié)構(gòu)還可以公開(kāi)屬性、方法和事件。結(jié)構(gòu)可以實(shí)現(xiàn)一個(gè)或多個(gè)接口,而您可以分別為每個(gè)字段聲明訪(fǎng)問(wèn)級(jí)別。

可以合并不同類(lèi)型的數(shù)據(jù)項(xiàng)來(lái)創(chuàng)建結(jié)構(gòu)。結(jié)構(gòu)將一個(gè)或多個(gè)“元素”彼此關(guān)聯(lián)并且將它們與結(jié)構(gòu)本身關(guān)聯(lián)。聲明了結(jié)構(gòu)后,它將成為“復(fù)合數(shù)據(jù)類(lèi)型”,而您可以聲明該類(lèi)型的變量。

想讓單個(gè)變量持有幾個(gè)相關(guān)信息時(shí)結(jié)構(gòu)很有用。例如,您可能想將一個(gè)雇員的姓名、電話(huà)分機(jī)號(hào)和薪金放在一起??梢詫?duì)這些信息使用幾個(gè)變量,或者可以定義一個(gè)結(jié)構(gòu)并將它用于單個(gè)雇員變量。當(dāng)有許多雇員并且因此有該變量的許多實(shí)例時(shí),結(jié)構(gòu)的優(yōu)點(diǎn)變得非常明顯。

使用 Structure 語(yǔ)句語(yǔ)句作為結(jié)構(gòu)聲明的開(kāi)始,并使用 EndStructure 語(yǔ)句作為結(jié)構(gòu)聲明的結(jié)束。在這兩條語(yǔ)句之間必須至少聲明一個(gè)“元素”。元素可以是任何數(shù)據(jù)類(lèi)型,但是至少一個(gè)必須是非共享變量,或是非共享非自定義事件。

不能在結(jié)構(gòu)聲明中初始化任何結(jié)構(gòu)元素。如果將一個(gè)變量聲明為結(jié)構(gòu)類(lèi)型,則可以通過(guò)變量訪(fǎng)問(wèn)元素來(lái)給它們賦值。

聲明一個(gè)結(jié)構(gòu):

可以使用 Public、Protected、Friend或Private關(guān)鍵字指定結(jié)構(gòu)的訪(fǎng)問(wèn)級(jí)別,或者使用默認(rèn)值 Public。如:

Private Structure employee

End Structure

向結(jié)構(gòu)體添加元素:

結(jié)構(gòu)必須具有至少一個(gè)元素。必須聲明結(jié)構(gòu)的每個(gè)元素并指定其訪(fǎng)問(wèn)級(jí)別。如果使用不含任何關(guān)鍵字的 Dim 語(yǔ)句 (Visual Basic),則可訪(fǎng)問(wèn)性默認(rèn)值為 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)于你的問(wèn)題,請(qǐng)參考下面C++/C對(duì)自定義類(lèi)型的比較:

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;

}

vb.net自定義控件問(wèn)題

首先,你已經(jīng)完成的步驟是:

1.新建一個(gè)用戶(hù)控件[注意,用戶(hù)控件(UserControl)不是自定義控件(CustomControl)]

2.給用戶(hù)控件起個(gè)名字(我在此處起名叫 RadioList)

3.在用戶(hù)控件上畫(huà)一個(gè) GroupBox,命名為 RadioGroup,

并將其 Dock 屬性設(shè)置為 Fill

然后,你需要做的是動(dòng)態(tài)增減控件。

如果你以前用過(guò) VB 6,你可能會(huì)想到控件數(shù)組,

但在此處,你可以直接增刪控件。

具體實(shí)現(xiàn)如下:

4.在 GroupBox 里畫(huà)一個(gè) FlowLayoutPanel,命名為 RadioPanel,

將其 AutoScroll 屬性設(shè)置為 True,即自動(dòng)顯示滾動(dòng)條,

并設(shè)置其 FlowDirection 屬性(例如設(shè)置為 TopDown)

這樣就省去了手動(dòng)調(diào)整 RadioButton 位置的麻煩

5.實(shí)現(xiàn)選項(xiàng)的動(dòng)態(tài)增減(以下只是我的思路,你可以發(fā)揮一下)

(十分簡(jiǎn)潔,注釋除外):

''' summary

''' 創(chuàng)建一個(gè)新的 RadioButton。

''' /summary

Private Function CreateRadio() As RadioButton

Dim NewRadio As New RadioButton

components.Add(NewRadio)

'components 字段由控件設(shè)計(jì)器自動(dòng)創(chuàng)建,

'此代碼目的是使控件在銷(xiāo)毀(Dispose)時(shí)能自動(dòng)銷(xiāo)毀 RadioButton

'詳情參見(jiàn) 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

'無(wú)中生有的 RadioButton 的事件處理程序

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

'在此處設(shè)置選中項(xiàng)的屬性,通過(guò) sender 來(lái)確定不同的 OptionButton

'你可以通過(guò)將 OptionButton 放在一個(gè)列表,

'如 List(Of OptionButton) 中來(lái)像數(shù)組一樣維護(hù)選項(xiàng)的次序

'注意,此處需要判斷 sender 的 Checked 屬性是否為 True

'因?yàn)?Changed 是“改變”,而不是“選中”

'例如:

If DirectCast(sender, RadioButton).Checked Then

SelectedIndex = ...

End If

End Sub

名稱(chēng)欄目:vb.net自定義屬性 vb中自定義函數(shù)
轉(zhuǎn)載源于:http://muchs.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)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

綿陽(yáng)服務(wù)器托管