日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

VB控件数组之操作技巧

發布時間:2024/1/1 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 VB控件数组之操作技巧 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一.運行中設置數組控件的屬性

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

Private Sub Command1_Click(Index As Integer)Dim i As Integer '計數器 Dim comNum As Integer '按鈕的索引號 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


二、運行中添加和卸載數組控件

窗體上已有一個文本框Text1,程序需要在運行時動態地創建若干文本框,可這樣實現:

1.首先,設計時給Text1的Index屬性設置為"0",這一步很重要:有了索引號才能創建數組控件;

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

Private Sub Command1_Click()Dim txtNum As Integer 'Text1的Index號 Dim Num As Integer '賦給各TextBox的值txtNum = 0 '初值 Num = 1 '初值Text1(0).Text = "Text" & Num '第一個Text1的值Dim i As Integer '計數器 For i = 0 To 4 '添加五個TextBox txtNum = txtNum + 1 Num = Num + 1 Load Text1(txtNum) '加載文本框 Text1(txtNum).Top = Text1(txtNum - 1).Top + 450 '設置位置 Text1(txtNum).Text = "Text" & Num '加載內容 Text1(txtNum).Visible = True '令其可見:不能漏 NextCommand1.Enabled = False Command2.Enabled = TrueEnd SubPrivate 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) NextCommand1.Enabled = True Command2.Enabled = FalseEnd Sub


三、給運行中添加的數組控件命名并編寫事件

其實例二已經給數組控件命了名,只是簡單了些。本例將文件夾"F:\Txt"下的所有.txt的文件名作為菜單的Caption添加到菜單項里[請事先建立此文件夾并拷貝一些.txt文件,或者更改代碼],當點擊這些菜單,程序將調出Windows的記事本打開相應的文件。
鍵入以下代碼前請啟動VB的菜單編輯器,建立一個父菜單項[Naem和Caption屬性任意],然后在此父菜單下建立一個子菜單,Name屬性為"mnuFiles",Caption屬性為"沒有文件"。

Dim MyPath As String '路徑名變量'添加并命名菜單過程 Private Sub AddMenu()Dim MenuNum As Integer '菜單索引號變量 Dim MyFiles As String '文件名變量MenuNum = 0 '初值MyFiles = Dir(MyPath + "*.txt") '僅查找文本文檔 If MyFiles = "" Then Exit Sub '為空則退出過程mnuFiles(0).Caption = MyFiles '給第一個菜單命名Do Until MyFiles = "" MyFiles = Dir() If MenuNum = 0 Then MenuNum = 1 MenuNum = MenuNum + 1 Load mnuFiles(MenuNum) '加載菜單 mnuFiles(MenuNum).Visible = True '設置為可見:不能漏 mnuFiles(MenuNum).Caption = MyFiles If mnuFiles(MenuNum).Caption = "" Then Unload mnuFiles(MenuNum) '若菜單名為空則卸載掉 LoopEnd SubPrivate Sub Form_Load()MyPath = "F:\Txt\" '規定路徑 Call AddMenu '執行添加菜單過程End SubPrivate Sub mnuFiles_Click(Index As Integer)Dim ret As String '用Windows的記事本打開文件:注意中間的空格不能少 ret = "Notepad.exe" & " " & MyPath & mnuFiles(Index).Caption Shell ret, vbNormalFocusEnd Sub


四、控件在窗體上的排列問題
當然添加的數組控件多了,排列確實是個問題。下面的例子給窗體添加499個Label控件,加上事先繪制好的Index號定義為0的控件,總共有500個,能在窗體上從左到右、從上到下整齊地排列。程序運行時要花些許時間。

Option ExplicitPrivate Sub Form_Load()Me.Width = 6800 Me.Height = 6000 Me.Caption = "添加標簽演示" With Label1(0) .Top = 0 .Left = 120 .Height = 200 .Width = 300 .Caption = "" End WithAddLabelsEnd SubPrivate Sub AddLabels()Dim i As Integer '計數器 Dim Num As Integer 'Label的Index號 Dim k As Integer '判斷是否滿行 Dim n As Integer '行數計數器Num = 0 k = 0 n = 0Label1(0).Caption = Num + 1For 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 = nCase 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 = Num + 1 Label1(Num).Visible = True NextEnd Sub


總結

以上是生活随笔為你收集整理的VB控件数组之操作技巧的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。