日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

解決VB中不能通過(guò)函數(shù)傳遞控件數(shù)組的問題(轉(zhuǎn))

 chinablank 2011-12-15
VB中的函數(shù)可以使用數(shù)組形參,但是卻不能傳遞控件數(shù)組,原因是VB中的控件數(shù)組和數(shù)組本身的構(gòu)造方式不太一樣,雖然同是在內(nèi)存中順序排列,但是調(diào)用方法卻有小小區(qū)別,控件數(shù)組的使用更象是一個(gè)集合。數(shù)組的使用
僅僅只能通過(guò)Lboun和Ubound函數(shù)來(lái)獲取數(shù)組上下標(biāo),而控件數(shù)組則可使用control.Lbound,control.ubound屬性來(lái)獲取上下標(biāo)。數(shù)組中訪問其元素只能使用Arr(Index)的方式,但控件數(shù)組則還可以通過(guò)control.item(index)來(lái)訪問。由于這點(diǎn)小小的不同,造成了控件數(shù)組不能當(dāng)作函數(shù)參數(shù)傳遞的問題。
現(xiàn)在我們通過(guò)2種方式來(lái)解決??!2種方式實(shí)現(xiàn)各不相同,所能應(yīng)用的范圍也不一樣。
第一種使用對(duì)象數(shù)組的方法:(例子說(shuō)明)
private sub SendControls()
    Dim Arr_Chk() as CheckBox
    Dim Int_I As Integer
    ReDim Arr_Chk(Chk_Tmp.Lbound To Chk_Tmp.Ubound)
    For Int_I =Chk_Tmp.Lbound to Chk_Tmp.Ubound
        Set Arr_Chk(Int_I)=Chk_Tmp.Item(Int_I)
    next
     Call TestControls(Arr_Chk)
end sub
private sub TestControls(ByRef TestControls() As CheckBox)
    Dim Int_I as Integer
    For Int_I=Lbound(TestControls) To Ubound(TestControls)
        debug.pring TestControls(Int_I).Name & "    " & TestControls(Int_I).Value
    next
End Sub
第二種方式,傳遞控件數(shù)組中一個(gè)元素。(這種方式有點(diǎn)取巧)
Private Sub SendControls()
    call TestControls(Chk_Tmp.Item(Chk_Tmp.Lbound))
end sub
Private Sub TestControls(byval TestControl as CheckBox)
    Dim TmpControl as Object
     For Each TmpControl In Controls
         If TmpControl.Name=TestControl.Name Then
             Debug.Print TmpControl.Name & "   " & TmpControl.Value
         end if
     Next
End Sub

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多