2020国产成人精品视频,性做久久久久久久久,亚洲国产成人久久综合一区,亚洲影院天堂中文av色

分享

VB控件數(shù)組的操作技巧

 悟靜 2009-07-24

控件數(shù)組有在設(shè)計(jì)時(shí)設(shè)置好的,也有在運(yùn)行中創(chuàng)建的。控件數(shù)組一方面使得程序簡(jiǎn)潔、令代碼易于維護(hù),另一方面能使程序具有靈活性??梢?,科學(xué)地利用控件數(shù)組可使編程工作的效率更高。本文是從筆者回答網(wǎng)友的問題中整理出來的,與原來的回答相比略有改動(dòng)。希望這些"技巧"對(duì)大家有些幫助。如有不妥之處,敬請(qǐng)指教。

一、運(yùn)行中設(shè)置數(shù)組控件的屬性

設(shè)窗體上有若干個(gè)以 Command1 命名的命令按鈕,現(xiàn)要求:點(diǎn)擊其中一個(gè)按鈕后,該按鈕不可用,而其它的按鈕均可用。以下幾行代碼可以實(shí)現(xiàn)這個(gè)要求,比一個(gè)一個(gè)的設(shè)置高效得多。

Private Sub Command1_Click(Index As Integer)

Dim i As Integer '計(jì)數(shù)器
Dim comNum As Integer '按鈕的索引號(hào)
comNum = 0
For i = 0 To Command1.Count - 1
comNum = comNum + 1
If comNum > Command1.Count - 1 Then comNum = 0
Command1(comNum).Enabled = True '讓所有按鈕可用
Next
Command1(Index).Enabled = False '讓被單擊按鈕不可用

End Sub

二、運(yùn)行中添加和卸載數(shù)組控件

窗體上已有一個(gè)文本框Text1,程序需要在運(yùn)行時(shí)動(dòng)態(tài)地創(chuàng)建若干文本框,可這樣實(shí)現(xiàn):

1.首先,設(shè)計(jì)時(shí)給Text1的Index屬性設(shè)置為"0",這一步很重要:有了索引號(hào)才能創(chuàng)建數(shù)組控件;

2.編寫代碼:[之前請(qǐng)給工程添加兩個(gè)命令按鈕,Name屬性取缺省值,Caption屬性分別為:添加、卸載]

Private Sub Command1_Click()

Dim txtNum As Integer 'Text1的Index號(hào)
Dim Num As Integer '賦給各TextBox的值

txtNum = 0 '初值
Num = 1 '初值

Text1(0).Text = "Text" & Num '第一個(gè)Text1的值

Dim i As Integer '計(jì)數(shù)器
For i = 0 To 4 '添加五個(gè)TextBox
txtNum = txtNum + 1
Num = Num + 1
Load Text1(txtNum) '加載文本框
Text1(txtNum).Top = Text1(txtNum - 1).Top + 450 '設(shè)置位置
Text1(txtNum).Text = "Text" & Num '加載內(nèi)容
Text1(txtNum).Visible = True '令其可見:不能漏
Next

Command1.Enabled = False
Command2.Enabled = True

End Sub

Private Sub Command2_Click()

Dim i As Integer, N As Integer
N = 0
For i = 1 To Text1.Count - 1
N = N + 1
Unload Text1(N)
Next

Command1.Enabled = True
Command2.Enabled = False

End Sub

三、給運(yùn)行中添加的數(shù)組控件命名并編寫事件

其實(shí)例二已經(jīng)給數(shù)組控件命了名,只是簡(jiǎn)單了些。本例將文件夾"F:\Txt"下的所有.txt的文件名作為菜單的Caption添加到菜單項(xiàng)里[請(qǐng)事先建立此文件夾并拷貝一些.txt文件,或者更改代碼],當(dāng)點(diǎn)擊這些菜單,程序?qū)⒄{(diào)出Windows的記事本打開相應(yīng)的文件。
鍵入以下代碼前請(qǐng)啟動(dòng)VB的菜單編輯器,建立一個(gè)父菜單項(xiàng)[Naem和Caption屬性任意],然后在此父菜單下建立一個(gè)子菜單,Name屬性為"mnuFiles",Caption屬性為"沒有文件"。

Dim MyPath As String '路徑名變量

'添加并命名菜單過程
Private Sub AddMenu()

Dim MenuNum As Integer '菜單索引號(hào)變量
Dim MyFiles As String '文件名變量

MenuNum = 0 '初值

MyFiles = Dir(MyPath + "*.txt") '僅查找文本文檔
If MyFiles = "" Then Exit Sub '為空則退出過程

mnuFiles(0).Caption = MyFiles '給第一個(gè)菜單命名

Do Until MyFiles = ""
MyFiles = Dir()
If MenuNum = 0 Then MenuNum = 1
MenuNum = MenuNum + 1
Load mnuFiles(MenuNum) '加載菜單
mnuFiles(MenuNum).Visible = True '設(shè)置為可見:不能漏
mnuFiles(MenuNum).Caption = MyFiles
If mnuFiles(MenuNum).Caption = "" Then Unload mnuFiles(MenuNum)
'若菜單名為空則卸載掉
Loop

End Sub

Private Sub Form_Load()

MyPath = "F:\Txt\" '規(guī)定路徑
Call AddMenu '執(zhí)行添加菜單過程

End Sub

Private Sub mnuFiles_Click(Index As Integer)

Dim ret As String
'用Windows的記事本打開文件:注意中間的空格不能少
ret = "Notepad.exe" & " " & MyPath & mnuFiles(Index).Caption
Shell ret, vbNormalFocus

End Sub

四、控件在窗體上的排列問題

曾有一位網(wǎng)友兩次問土人怎樣才能在窗體上添加100萬(wàn)個(gè)文本框。呵呵,這要多大的顯示器才能顯示出來呀!不過,添加的數(shù)組控件多了,排列確實(shí)是個(gè)問題。下面的例子給窗體添加499個(gè)Label控件,連同事先繪制好的Index號(hào)定義為0的控件,總共有500個(gè),能在窗體上從左到右、從上到下整齊地排列。程序運(yùn)行時(shí)要花些許時(shí)間。

Option Explicit

Private Sub Form_Load()

Me.Width = 6800
Me.Height = 6000
Me.Caption = "添加標(biāo)簽演示"
With Label1(0)
.Top = 0
.Left = 120
.Height = 200
.Width = 300
.Caption = ""
End With

AddLabels

End Sub

Private Sub AddLabels()

Dim i As Integer '計(jì)數(shù)器
Dim Num As Integer 'Label的Index號(hào)
Dim k As Integer '判斷是否滿行
Dim n As Integer '行數(shù)計(jì)數(shù)器

Num = 0
k = 0
n = 0

Label1(0).Caption = Num + 1

For i = 1 To 499
Num = Num + 1
Load Label1(Num) '加載Label控件

Select Case k
Case 0
Label1(Num).Left = Label1(Num - 1).Left + Label1(0).Width + 20
If Num = 20 Then n = n + 1: k = n

Case n
Label1(n * 20).Left = 120
Label1(n * 20).Top = Label1(0).Height * n
Label1(Num).Top = Label1(0).Height * n
Label1(Num).Left = Label1(Num - 1).Left + Label1(0).Width + 20
If Num = (n + 1) * 20 Then n = n + 1: k = n
End Select


Label1(Num).Caption = "label1_"&(Num + 1)         '顯示為lable1_形式    這里可以用with.............end with設(shè)置屬性
Label1(Num).Visible = True
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)論公約

    類似文章 更多