你可以把你現(xiàn)在代碼,帖上來(lái),然后實(shí)際中的問(wèn)題說(shuō)出來(lái)。
創(chuàng)新互聯(lián)建站是專業(yè)的東蘭網(wǎng)站建設(shè)公司,東蘭接單;提供網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站設(shè)計(jì),網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行東蘭網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!
像你說(shuō)的那種嵌套,其實(shí)可以分解成很多步。沒(méi)必要非得那樣寫。
public Color col(string colorName)
{
Type colorType = typeof(Color);
PropertyInfo info = colorType.GetProperty(colorName, BindingFlags.Public | BindingFlags.Static);
if (infos == null)
{
//throw Exception
}
return(Color)info.GetValue(null, null);
}
是這個(gè)意思么?輸入“Red”, 返回Color.Red 區(qū)分大小寫
這個(gè)簡(jiǎn)單。
在VB.net中,每個(gè)事件都對(duì)應(yīng)有兩個(gè)參數(shù):sender 和 e 。提取 sender 參數(shù)信息就可以獲取控件名稱。如果不理解其中機(jī)制,你直接 msgbox(sender) 將其輸出,就能查看其中玄機(jī)。
獲取控件名稱代碼:CType(sender, Control).Name。
i=1、2、3、4......
i=a
dim g as groupbox
g=me.controls.find("GroupBox" i)
if not g is nothing then
g.visible=true
end if
類似需求我這樣處理過(guò),供參考:
1。我在窗體上加了一個(gè)label,每次處理過(guò)程都會(huì)用一個(gè)統(tǒng)一的方法來(lái)改變其text,從而知道當(dāng)前的處理過(guò)程來(lái)自哪里,干了什么
2。通過(guò)對(duì)這個(gè)label的text的讀取,就可以控制代碼動(dòng)態(tài)添加的過(guò)程怎么處理了
3。整個(gè)調(diào)試過(guò)程中,這個(gè)label都是可見(jiàn)的,最后交付時(shí)將visible屬性設(shè)置false就行了,將來(lái)檢查問(wèn)題時(shí)再打開(kāi),很方便的。
Private?ctrName?As?String?'控件名稱
Private?isClick?As?Boolean?'鼠標(biāo)點(diǎn)擊狀態(tài)
'注:如果已知點(diǎn)擊目標(biāo)控件的父控件,ctrParent變量可以不要。
Private?WithEvents?ctrParent?As?Control?'父控件
Private?Sub?ControlAMouseDown(sender?As?Object,?e?As?MouseEventArgs)?_
Handles?Button1.MouseDown
isClick?=?(e.Button?=?MouseButtons.Left?_
Or?e.Button?=?MouseButtons.Right)?'左鍵或右鍵按下
If?isClick?Then
Dim?ctr?As?Control?=?CType(sender,?Control)?'轉(zhuǎn)換Object為控件類型
ctrName?=?ctr.Name?'獲取控件名稱
ctrParent?=?ctr.Parent?'獲取控件的父控件
End?If
End?Sub
'增加這個(gè)父控件事件,是為了正確判別鼠標(biāo)彈起時(shí)是否已進(jìn)入指定目標(biāo)
Private?Sub?ParentMouseMove(sender?As?Object,?e?As?EventArgs)?_
Handles?ctrParent.MouseMove?'如果已取消ctrParent變量,改為相應(yīng)的父控件
If?isClick?Then?isClick?=?False?'點(diǎn)擊狀態(tài)關(guān)閉
End?Sub
Private?Sub?ControlBMouseUp(sender?As?Object,?e?As?EventArgs)?_
Handles?Button2.MouseEnter
If?isClick?Then?'如果點(diǎn)擊狀態(tài)為打開(kāi)
Dim?ctr?As?Control?=?CType(sender,?Control)?'轉(zhuǎn)換Object為控件類型
MsgBox(ctrName??"?|?"??ctr.Name)?'彈出消息顯示結(jié)果
End?If
End?Sub
網(wǎng)站題目:反射控件名vb.net 反射根據(jù)方法名獲取方法
網(wǎng)站鏈接:http://muchs.cn/article46/docoehg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、移動(dòng)網(wǎng)站建設(shè)、小程序開(kāi)發(fā)、網(wǎng)站排名、電子商務(wù)、網(wǎng)站導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)