VB数组小技巧一则
2006-02-27 11:51:28 来源:WEB开发网 闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁惧墽鎳撻—鍐偓锝庝簻椤掋垺銇勯幇顖毿撻柟渚垮妼椤粓宕卞Δ鈧獮濠勭磽閸屾艾鈧懓顫濋妸鈺佺疅缂佸顑欓崥瀣煕椤愵偅绶氱紓鍐╂礋濮婂宕掑▎鎴М濠电姭鍋撻梺顒€绉甸幆鐐哄箹濞n剙濡肩紒鎰殜閺屸€愁吋鎼粹€茬敖婵炴垶鎸哥粔鐢稿Φ閸曨垰鍐€妞ゆ劦婢€濞岊亪姊虹紒妯诲蔼闁稿海鏁诲濠氭晲婢跺﹤宓嗛梺缁樺姈缁佹挳宕戦幘璇叉嵍妞ゆ挻绋戞禍鐐叏濡厧浜鹃悗姘炬嫹

核心提示:一、设窗体上有若干个以Command1命名的命令按钮,现要求:点击其中一个按钮后,VB数组小技巧一则,该按钮不可用,而其它的按钮均可用,VB6.0运行通过,最后,以下几行代码可以实现这个要求,比一个一个的设置高效得多
一、设窗体上有若干个以Command1命名的命令按钮,现要求:点击其中一个按钮后,该按钮不可用,而其它的按钮均可用。以下几行代码可以实现这个要求,比一个一个的设置高效得多。其实,我也是看了土人的关于控件数组的一文后,认为我的方法更加简单,代码更简易。
以下是实现的代码:
PRivateSubCommand1_Click(IndexAsInteger)
StaticaAsInteger
Ifa<>0ThenCommand1(a-1).Enabled=True'用于恢复按钮可用
Command1(Index).Enabled=False
a=Index 1
EndSub
注:变量a主要是用来存储上一次单击的按钮Index,至于a-1和a 1是为了避免当单击index为0时的按钮时,会出现问题,所以用此法避开了。
二、当用自制一个菜单时,可用如下办法实现移到哪项时,则哪项背景色就与其它的项目的背景色不同。就是说和真的菜单一样,当移到哪一项时,则那一项的背景色就会以蓝色背景显示。
以下是实现的代码:
PrivateSubForm_Load()
DimabcasInteger
fora=0toLabel1.Count-1
Labe11(a).BackStyle=0
next
EndSub
PrivateSubLabel1_MouseMove(IndexAsInteger,ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
StaticaAsInteger
'实现蓝底的背景
Label1(Index).BackStyle=1
Label1(index).BackColor=rgb(0,0,255)
'用于实现上一项背景透明
Ifa>=0Anda<>IndexThen
Label1(a).BackStyle=0
EndIf
a=Index
EndSub
注:以上是以LabeblBox控件为菜单项,菜单项多少不限。
以上实例在Win98,VB6.0运行通过。最后,希望大家能够把数组运用的得心应手。->
更多精彩
赞助商链接