VB.NET動(dòng)態(tài)生成代碼相關(guān)經(jīng)驗(yàn)分享
怎樣才能實(shí)現(xiàn)動(dòng)態(tài)的代碼生成呢?使用VB.NET進(jìn)行開(kāi)發(fā)可以輕松的幫助我們實(shí)現(xiàn)這些方法。下面我們就為大家對(duì)這一方面的知識(shí)點(diǎn)進(jìn)行一個(gè)詳細(xì)的介紹,希望初學(xué)者們可以對(duì)此有一個(gè)詳盡的了解。#t#
首先是當(dāng)程序員需要?jiǎng)討B(tài)建立一個(gè)控件并將代碼附著于控件之上時(shí)。例如,你或許想創(chuàng)建一個(gè)鏈接列表,但是不知道需要?jiǎng)?chuàng)建鏈接的數(shù)量或是鏈接中會(huì)出現(xiàn)什么樣的數(shù)據(jù)。第二種是當(dāng)程序員需要定義代碼以反映出特殊需求的時(shí)候。例如,你或許要執(zhí)行能反映用戶系統(tǒng)配置的代碼。
類(lèi)似上述的情況當(dāng)然不會(huì)每天都上演。事實(shí)上,它們只在非常情況下才出現(xiàn)。然而,作為程序員,仍然要意識(shí)到.NET為解決動(dòng)態(tài)情形提供了方案。有了正確的技巧,你就可以寫(xiě)出能靈活處理動(dòng)態(tài)情況的應(yīng)用程序了。
VB.NET動(dòng)態(tài)生成代碼使用動(dòng)態(tài)控件
許多程序員總會(huì)遇到需要?jiǎng)討B(tài)創(chuàng)建控件的時(shí)候。我們所展示的例子中程序員向FlowLayoutPanel中添加了LinkLabels。或許你可以個(gè)這樣的設(shè)置來(lái)記錄和保存常用的URL,文件,網(wǎng)絡(luò)地址或是其他資源所在位置的數(shù)值。這一示例沒(méi)有真正保存鏈接,但是你可以使用XML序列化功能來(lái)實(shí)現(xiàn)保存。
每次當(dāng)用戶點(diǎn)擊Test按鈕時(shí),示例代碼就會(huì)動(dòng)態(tài)創(chuàng)建一個(gè)新的LinkLabel控件。真正的演示代碼并不復(fù)雜。例一就展示了創(chuàng)建這類(lèi)控件以及將控件放入FlowLayoutPanel,lstLabel中通常所需要做的一切。
VB.NET動(dòng)態(tài)生成代碼示例:向FlowLayoutPanel中添加新的鏈接
- Private Sub btnTest_Click()
- Handles btnTest.Click
- ' Create a link.
- Dim NewLink As LinkLabel =
- New LinkLabel()
- ' Add some properties to it.
- NewLink.Text = DateTime.Now
- .ToLongTimeString()
- ' Set the click event handler.
- AddHandler NewLink.Click,
- AddressOf NewLink_Click
- ' Place the button on the form.
- lstLinks.Controls.Add(NewLink)
- End Sub
如你所料,VB.NET動(dòng)態(tài)生成代碼的示例開(kāi)始的時(shí)候創(chuàng)建了一個(gè)新的LinkLabel并為其賦予了一些值。這一示例使用的是當(dāng)前時(shí)間。你的代碼或許能夠?qū)δ骋徽鎸?shí)資源進(jìn)行訪問(wèn)。