精华内容
下载资源
问答
  • VB 控件数组画图.rar

    2019-07-10 09:37:47
    VB 控件数组画图,每次输出新图形,前面的清除,可以画直线、矩形、圆。具体的代码操作,请看如下:  Private Sub Form_Load()  Picture1.Scale (0, 0)-(10, 10) '设置坐标系  End Sub  Private Sub Command1_...
  • VB6实现动态多行增加和删除控件 Option Explicit Dim S1GlngMaxCharactor As Long Dim ChoiceRemove As Long '选择角色移除对象 Private Sub CmdAdd() Dim i As Long, n As Long Dim MaxCharactor As Long ...

               VB6实现动态增加和删除控件数组中的控件

    2021-6-3修改一个BUG

    控件的添加:

    1From1名称改为FrmWork

    2.添加Picture控件名称改为PicCharacterContainer

    3.添加Picture控件名称改为PicShow放入PicCharacterContainer中,设置成控件数组

    4.添加Text控件名称改为TxtShow放入PicCharacterContainer中,设置成控件数组

    操作:在PicCharacterContainer中鼠标左键添加控件,鼠标右键去除控件(可以点选指定控件)。

     

    代码: 

    Option Explicit
    Dim S1GlngMaxCharactor As Long
    Dim ChoiceRemove As Long '选择角色移除对象
    Private Sub CmdAdd()
    Dim i As Long, n As Long
    Dim MaxCharactor As Long
    MaxCharactor = 100 '最大控件数
    For i = 1 To MaxCharactor
        If fChkControls(FrmWork, "PicShow", i) = True Then '控件存在
        n = n + 1
        End If
    Next i
    S1GlngMaxCharactor = n + 1
    For i = 1 To MaxCharactor
        If fChkControls(FrmWork, "PicShow", i) = False Then '控件不存在
            AddCharactor i '增加Picture控件
            AddCharactorNotice i '增加Text控件
            PublicNewArrangeAdd S1GlngMaxCharactor, "PicShow", FrmWork, FrmWork.PicShow '在缺失位置增加控件
            PublicNewArrangeAdd S1GlngMaxCharactor, "TxtShow", FrmWork, FrmWork.TxtShow '在缺失位置增加控件
            AlignBoxes '对齐控件
            TxtShow(i).Text = i '显示控件数组编号
            Exit For
        End If
    Next i
    End Sub
    Private Sub CmdRemove()
    Dim n As Long, i As Long
    If ChoiceRemove <> 0 Then
    Unload PicShow(ChoiceRemove)
    Unload TxtShow(ChoiceRemove)
    ChoiceRemove = 0
    Else
        If S1GlngMaxCharactor >= 1 Then
                    For i = 1 To 100
                        If fChkControls(FrmWork, "PicShow", i) = True Then '存在 '2020-8-22修改为True
                        n = i '找到未删除最大编号
                        End If
                    Next i
                    If n = 0 Then
                        S1GlngMaxCharactor = S1GlngMaxCharactor - 1
                        MsgBox "最初控件不能移除"
                        Exit Sub
                    End If
        Unload PicShow(n)
        Unload TxtShow(n)
        S1GlngMaxCharactor = S1GlngMaxCharactor - 1
        Else
        MsgBox "最初控件不能移除"
        End If
    End If
    End Sub
    Private Sub PicCharacterContainer_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    If Button = 1 Then
        CmdAdd
    End If
    If Button = 2 Then
        CmdRemove
    End If
    End Sub
    Rem 判断控件是否存在
    Function fChkControls(frmObject As Form, strControlsName As String, ByVal lngIndex As Long) As Boolean
    On Error GoTo Err
        Dim strContrName As String
        If lngIndex >= 0 Then
            strContrName = frmObject.Controls(strControlsName)(lngIndex).Name
        Else
            strContrName = frmObject.Controls(strControlsName).Name
        End If
        fChkControls = True
        Exit Function
    Err:
        fChkControls = False
    End Function
    Rem 增加控件
    Public Sub AddCharactor(ByVal n As Long)
    Dim RowNum As Long
    Dim Row As Long, Line As Long
    Load FrmWork.PicShow(n)
    Set FrmWork.PicShow(n).Container = FrmWork.PicCharacterContainer
    RowNum = Int(FrmWork.PicCharacterContainer.Width / FrmWork.PicShow(0).Width)  '一排容纳多少控件
    If n - 1 >= 0 Then
        Line = Int(n / RowNum) + 1               '控件所处行号
        Row = (n + 1) - (Line - 1) * RowNum '控件所处列号
        FrmWork.PicShow(n).Left = FrmWork.PicShow(0).Left + (Row - 1) * FrmWork.PicShow(n).Width
        FrmWork.PicShow(n).Top = FrmWork.PicShow(0).Top + (Line - 1) * (FrmWork.PicShow(n).Height + FrmWork.TxtShow(0).Height)
        FrmWork.PicShow(n).Visible = True
    End If
    End Sub
    Rem 增加文字控件
    Public Sub AddCharactorNotice(ByVal n As Long)
    Load FrmWork.TxtShow(n)
    Set FrmWork.TxtShow(n).Container = FrmWork.PicCharacterContainer
    If n - 1 >= 0 Then
        FrmWork.TxtShow(n).Left = FrmWork.PicShow(n).Left
        FrmWork.TxtShow(n).Top = FrmWork.PicShow(n).Top
        FrmWork.TxtShow(n).Visible = True
    End If
    End Sub
    Rem MaxNumber         最大数量
    Rem ControlBoxName 控件名称
    Rem From                     工作界面
    Rem ControlBox           控件:例子From.PicShow
    Public Sub PublicNewArrangeAdd(ByVal MaxNumber As Long, ByVal ControlBoxName As String, _
    ByRef From As Object, ByRef ControlBox As Object)
    Dim i As Long, l As Long, A As Variant, B As Variant
    For l = 1 To MaxNumber
        For i = 1 To MaxNumber
            If fChkControls(From, ControlBoxName, i) = True And fChkControls(From, ControlBoxName, i + l) = True Then
               If ControlBox(i).Left > ControlBox(i + l).Left Then
                If ControlBox(i).Top = ControlBox(i + l).Top Then '2021-6-2增加,作用是同行才交换位置
                A = ControlBox(i + l).Left
                B = ControlBox(i).Left
                ControlBox(i + l).Left = B
                ControlBox(i).Left = A
                End If
               End If
            End If
        Next i
    Next l
    End Sub
    Public Sub AlignBoxes()
    Dim i As Long
    On Error Resume Next '防止控件没有出错
    For i = 1 To S1GlngMaxCharactor
        FrmWork.TxtShow(i).Left = FrmWork.PicShow(i).Left
        FrmWork.TxtShow(i).Top = FrmWork.PicShow(i).Top + FrmWork.PicShow(i).Height
    Next i
    End Sub
    Private Sub PicShow_MouseDown(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
    If Button = 2 Then
        ChoiceRemove = Index
        CmdRemove
    End If
    If Button = 1 Then
        CmdAdd
    End If
    End Sub
    

     

    展开全文
  • VB控件数组之操作技巧

    万次阅读 热门讨论 2012-06-17 19:33:34
    运行中设置数组控件的属性 设窗体上有若干个以 Command1 命名的命令按钮,现要求:点击其中一个按钮后,该按钮不可用,而其它的按钮均可用。以下几行代码可以实现这个要求,比一个一个的设置高效得多。 Private ...
     
    

    一.运行中设置数组控件的属性

    设窗体上有若干个以 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 '令其可见:不能漏
    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
    


    三、给运行中添加的数组控件命名并编写事件

    其实例二已经给数组控件命了名,只是简单了些。本例将文件夹"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)
    '若菜单名为空则卸载掉
    Loop
    
    End Sub
    
    Private Sub Form_Load()
    
    MyPath = "F:\Txt\" '规定路径
    Call AddMenu '执行添加菜单过程
    
    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
    


    四、控件在窗体上的排列问题
    当然添加的数组控件多了,排列确实是个问题。下面的例子给窗体添加499个Label控件,加上事先绘制好的Index号定义为0的控件,总共有500个,能在窗体上从左到右、从上到下整齐地排列。程序运行时要花些许时间。

    Option Explicit
    
    Private Sub Form_Load()
    
    Me.Width = 6800
    Me.Height = 6000
    Me.Caption = "添加标签演示"
    With Label1(0)
    .Top = 0
    .Left = 120
    .Height = 200
    .Width = 300
    .Caption = ""
    End With
    
    AddLabels
    
    End Sub
    
    Private 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 = 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 = Num + 1
    Label1(Num).Visible = True
    Next
    
    End Sub 
    


    展开全文
  • VB控件数组的操作技巧(混合文本)

    千次阅读 2011-07-20 23:47:46
    2011-3-22 9:31:00 VB控件数组的操作技巧 ━━━━━━━━━━━━━━━━━━━━━━━━━━ 控件数组有在设计时设置好的,也有在运行中创建的。控件数组一方面使得程序简洁、令代码易于维护,另一方面能使...

    2011-3-22 9:31:00

     

    VB控件数组的操作技巧
    ━━━━━━━━━━━━━━━━━━━━━━━━━━

        控件数组有在设计时设置好的,也有在运行中创建的。控件数组一方面使得程序简洁、令代码易于维护,另一方面能使程序具有灵活性。可见,科学地利用控件数组可使编程工作的效率更高。本文是从笔者回答网友的问题中整理出来的,与原来的回答相比略有改动。希望这些"技巧"对大家有些帮助。如有不妥之处,敬请指教。

    一、运行中设置数组控件的属性

        设窗体上有若干个以 Command1 命名的命令按钮,现要求:点击其中一个按钮后,该按钮不可用,而其它的按钮均可用。以下几行代码可以实现这个要求,比一个一个的设置高效得多。

    Private Sub Command1_Click(Index As Integer)
        
    Dim As Integer '计数器
        
    Dim comNum As Integer '按钮的索引号
        
    comNum 0
        For To Command1.Count 1
            comNum comNum 1
            If comNum Command1.Count 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 '初值
        
    Num '初值
        
    Text1(0).Text "TextNum '第一个Text1的值
        
    Dim As Integer '计数器
        
    For To '添加五个TextBox
            
    txtNum txtNum 1
            Num Num 1
            Load Text1(txtNum'加载文本框
            
    Text1(txtNum).Top Text1(txtNum 1).Top 450 '设置位置
            
    Text1(txtNum).Text "TextNum '加载内容
            
    Text1(txtNum).Visible True '令其可见:不能漏
        
    Next
        
    Command1.Enabled False
        
    Command2.Enabled True
    End Sub

    Private Sub 
    Command2_Click()
        
    Dim As Integer, As Integer
        
    0
        For To Text1.Count 1
            N 1
            Unload Text1(N)
        
    Next
        
    Command1.Enabled True
        
    Command2.Enabled False
    End 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 '初值
        
    MyFiles Dir(MyPath "*.txt"'仅查找文本文档
        
    If MyFiles "" Then Exit Sub '为空则退出过程
        
    mnuFiles(0).Caption MyFiles '给第一个菜单命名
        
    Do Until MyFiles ""
            MyFiles Dir()
            
    If MenuNum 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)
            
    '若菜单名为空则卸载掉
        
    Loop
    End Sub

    Private Sub 
    Form_Load()
        
    MyPath "F:\Txt\'规定路径
        
    Call AddMenu '执行添加菜单过程
    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

    四、控件在窗体上的排列问题

        曾有一位网友两次问土人怎样才能在窗体上添加100万个文本框。呵呵,这要多大的显示器才能显示出来呀!不过,添加的数组控件多了,排列确实是个问题。下面的例子给窗体添加499个Label控件,连同事先绘制好的Index号定义为0的控件,总共有500个,能在窗体上从左到右、从上到下整齐地排列。程序运行时要花些许时间。

    Option Explicit
    Private Sub 
    Form_Load()
        
    Me.Width 6800
        Me.Height 6000
        Me.Caption "添加标签演示"
        With Label1(0)
            .
    Top 0
            .Left 120
            .Height 200
            .Width 300
            .Caption ""
        End With
        
    AddLabels
    End Sub
    Private Sub 
    AddLabels()
        
    Dim As Integer '计数器
        
    Dim Num As Integer 'Label的Index号
        
    Dim As Integer '判断是否满行
        
    Dim As Integer '行数计数器
        
    Num 0
        k 0
        n 0
        Label1(0).Caption Num 1
        For 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 1: k n
                Case n
                    Label1(20).Left 120
                    Label1(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 = (1) * 20 Then 1: k n
            End Select
            
    Label1(Num).Caption Num 1
            Label1(Num).Visible True
        Next
    End Sub


    一个问题的实例

    回答人的补充

    后面那代码,是告诉你什么情况用Select Case。
    那就不能这样做了,2个的index是不同的,改为:

    Private Sub Command1_Click()
        
    Dim i, r, s As Integer
        Dim 
    As Long
        For 
    To 2
            If Option1(i).Value Then
                Select Case 
    i
                    Case 0: s 100
                    Case 1: s 120
                    Case 2: s 160
                End Select
            End If
        Next
        For 
    To 3
            If Option2(i).Value Then
                Select Case 
    i
                    Case 0: r 3000
                    Case 1: r 3000 1.1
                    Case 2: r 3000 1.2
                    Case 2: r 3000 1.3
                End Select
            End If
        Next
        
    s
        Label1.Caption "根据所选房价应为:¥p
    End Sub

    1.将多个控件取相同的名称
    具体操作步骤是:

    1)绘制或选择要作为一个控件数组的所有控件,必须保证它们为同一类型的控件。
    2)决定哪一个控件作为数组中的第一个元素,选定该控件并将其Name属性值设置成数组名(或使用其原有的Name属性值)。
    3)将其他控件的Name属性值改成同一个名称。这时,Visual Basic会显示一个对话框,要求确认是否要创建控件数组,选择“是”则将控件添加到控件数组中。
    例如,若原有三个文本框Text1、Text2、Text3,要将它们设置成控件数组,数组名称为TT,则选择第一个文本框Text1,将其Name属性修改成TT,然后再选择Text2,再将其Name属性改成TT,这时会出现下图所示的对话框,单击“是(Y)” 按钮将Text2添加到控件数组中。在属性窗口中可以看出原Text1和Text2文本框的名称都变成了TT。同样将Text3的名称也改成TT,这时不再出现提示对话框,而直接将Text3的名称改成TT。观察各控件的属性窗口中的Index属性,其值分别变成了0、1、2(即控件数组元素的索引)。

    图 通过修改控件名称建立控件数组
    用这种方法建立的控件数组元素仅仅具有相同的Name属性和控件类型,其他属性与最初绘制控件时的值相同。

    2.复制现有的控件,并将其粘贴到所在容器中
    具体操作步骤是:
    1)在容器(如窗体)中绘制或选择要作为控件数组的第一个控件。
    2)选择“编辑”菜单中的“复制”命令(或单击标准工具栏的“复制”按钮),然后选中容器,再在“编辑”菜单中选择“粘贴”命令(或单击标准工具栏的“粘贴”按钮)。Visual Basic同样会显示与上图类似的对话框,单击“是(Y)”按钮,确定要创建一个控件数组。
    这时,绘制的第一个控件具有索引值0,而新粘贴的控件的索引值为1。以后可以继续使用粘贴的方法向现有的数组中添加控件,只是不再出现提示对话框,直接将新粘贴的控件作为控件数组的下一个元素。每个新数组元素的索引值与其添加到控件数组中的次序相同。用这种方法添加控件时,大多数可视属性,例如高度、宽度和颜色,将从数组中第一个控件复制到新控件中。

    3.给控件设置一个Index属性值
    具体操作步骤是:
    1)绘制或选择要作为控件数组的第一个控件。
    2)在属性窗口中直接指定一个Index属性值(如设置为0)。
    3)使用以上两种方法之一添加数组中的其他控件,这时不再出现提示对话框询问是否要创建控件数组。
    建立了控件数组之后,可以通过修改Index属性值修改相应控件在数组中的位置。当然,必须保证同一个控件数组中的各元素的Index属性值是惟一的。
    Visual Basic控件数组的使用示例 - - - 同时移动一组图形
    【例】创建图形控件数组S1,包含6个圆,当按下“移动”按钮时,所有圆全部向下移动100缇,当移动到窗体底部时,返回窗体顶部。界面如下图所示。

    图 同时移动一组图形
    分析:移动操作在单击“移动”按钮(设名称为Command1)时进行,因此,代码应写在“移动”按钮的Click事件过程中。这里要特别注意的是,“移动”按钮不是控件数组元素,因此,其事件过程不会返回Index参数值,也就是在其事件过程中不可以使用Index参数,这里可以用循环变量控制控件数组的索引,通过循环逐个移动图形。
    “移动”按钮的Click事件过程如下:

    Private Sub Command1_Click()
        
    For To 5
            If S1(I).Top S1(I).Height Form1.ScaleHeight Then
                
    ' 当图形底部超过窗体底部时,将图形移回窗体顶部
                
    S1(I).Top 0
            Else
                
    ' 当图形底部未超过窗体底部时,将图形向下移动100缇
                
    S1(I).Top S1(I).Top 100
            End If
        Next 
    I
    End Sub

    对于不关心处理次序的控件数组,也可以使用For Each...Next循环进行处理,例如,上例移动图形无先后次序问题,程序可以改写成:

    Private Sub Command1_Click()
        
    For Each In S1
            If X.Top X.Height Form1.ScaleHeight Then
                
    X.Top 0
            Else
                
    X.Top X.Top 100
            End If
        Next 
    X
    End Sub

    展开全文
  • 请问vb语言多个数组给多个控件调用,判断数组控件的关联性怎么判断,怎么得到数组关联的控件的其它属性?
  • 判断控件数组中的元素是否存在

    千次阅读 2009-08-03 13:07:00
    Option Explicit Private Sub Form_Load()  Dim i As Integer    For i = 1 To 20  Load Command1(i) ... If Not F Then Debug.Print "数组控件中索引"; i & "元素不存在"    Next   End Sub  

    Option Explicit

    Private Sub Form_Load()
      Dim i As Integer
     
      For i = 1 To 20
        Load Command1(i)
      Next i
       
      Unload Command1(2)
      Unload Command1(4)
      Unload Command1(20)
    End Sub


    Private Sub Command1_Click(Index As Integer)
        Dim cmd1 As Object, x As String
        For Each cmd1 In Command1
            x = x & cmd1.Index & ","
        Next
        x = "," & x
        Dim F As Boolean, i As Integer
        For i = 0 To Command1.UBound + 1
            F = InStr(x, "," & i & ",")
            If Not F Then Debug.Print "数组控件中索引"; i & "元素不存在"
           
        Next
         
    End Sub

     

    展开全文
  • VB 删除数组中指定元素实例

    热门讨论 2010-06-07 14:13:35
    VB 删除数组中指定元素实例 VB 删除数组中指定元素实例
  • 控件数组VB提供的一个优秀的设计解决方案,它能很方便快捷的处理大批同类控件的响应和时间处理,但不知为什么在C#中这个优秀特性没有传承下来,甚为可惜,本文将要探讨就是如何在C# WinForm程序实现它. 首先请看界面 ...
  • 一实验目的目标 综合运用本课程的相关知识完成两位数四则运算器的设计编写与测试培养学生...两个操作数运算符均随机产生 完成一题后自动判断对错并显示出来 可以随时查看已经完成的题目情况 完成一题自动计算题目总数正
  • vb 判断 控件是否存在

    2011-11-11 14:38:00
    引用:... Private Sub Form_load() Dim i As Integer For i = 0 To Me.Controls.Count - 1 If Me.Controls.Item(i).Name = "Shape1" Then 'me 可以用你控件...
  • VB6】控件数组正确使用方法分析 .

    千次阅读 2012-03-25 17:27:41
    创建数据驱动窗体 所谓数据驱动窗体就是根据所请求的数据的不同生成相应的窗体。举例来讲,假设你现在有一个...要做到这一点就得利用VB动态添加控件的功能。 动态创建控件 无论你想要创建何种类型的数据驱动窗
  • VB讲课笔记08:数组

    千次阅读 2018-03-12 18:01:30
    了解控件数组的概念、声明和使用。一、数组概念(一)数组定义数组是高级程序设计语言中数据组织的一种方式,是一种带有下标的结构,是按下标进行访问的一组下标变量的“集合”。数组可以是一维、二维或多维的,每一...
  • 网摘》控件数组

    千次阅读 2014-01-31 16:08:57
    控件数组(针对 Visual Basic 6.0 用户) 在 Visual Basic 6.0 中,控件数组可用于管理窗体上的控件;它们提供的功能可共享事件处理程序、循环访问控件组以及在运行时添加控件。 Visual Basic 2008 中不再支持控件...
  • 做一对多的时候,老是提示控件数组不存在,我已经按照百度的方法改好几次了 还是不行。希望大牛给我看看、先谢谢啦。 先把代码贴下。 客户端: Private Sub Command1_Click() sckconnect.SendData Text1.Text ...
  • VB6中使用winsock控件需要引用Microsoft Winsock Control 6.0部件使用winsock控件可以实现客户端和服务器间C/S结构的通信,如果把客户端和服务器放置于同一台电脑中,并且将客户端winsock的RemoteHost设置为本机IP...
  • '*******************************************************'*函数功能:判断控件是否存在的函数'*参 数:frmObject 窗体名'*strControlsName 待判断的控件名'*lngIndex 控件Index...
  • C#实现控件数组

    2012-07-16 11:32:00
    DotNet里取消了控件数组,这让习惯了使用VB控件的程序员非常不适应。有什么办法能够实现控件数组的功能吗?答案是肯定的。  众所周知,控件数组最主要的两个优点:可以循环附值;可以响应同一个事件。从而大大简化...
  • VB常用控件介绍

    千次阅读 2018-02-16 16:24:30
    2、Label(标签)控件 3、TextBox(文本框)控件 4、RichTextBox控件 5、NumericUpDown控件 6、Button(按钮)控件 7、GroupBox(分组框)控件 8、RadioButton(单选按钮)控件 9、CheckBox(复选框)控件 10...
  • vb.net控件

    2020-04-28 14:49:22
    vb.net 的 Label 控件 label(标签)控件用于显示文本,是设计应用程序界面时经常要用到的控件之一, 主要是用于显示其他控件名称,描述程序运行状态或标识程序运行的结果信息等 等,响应程序的事件或跟踪程序运行的...
  • 1.VB 二进制Byte()数组转换成十六进制字符串函数: Private Function BytesToHex(bytB() As Byte) As StringDim strTmp As String, i As LongFor i = 1 To UBound(bytB)strTmp = strTmp &amp; " " &...
  • VB 删除数组中的重复元素

    千次阅读 2013-02-14 19:43:27
    VB 删除数组中的重复元素,当几个数组元素的值相等时,只保留第一个元素,其他的元素被删除。并且返回结果数组。以下这个函数只支持一维数组。 Function Array_unique(Arr As Variant) As Variant Arr = QuickSort...
  • VB 动态添加删除控件汇总

    万次阅读 2011-03-16 23:12:00
    1. 概述 <br />在使用 Visual Basic 进行程序设计的过程中...下面将就 Visual Basic 6.0 中的控件在运行时刻的创建和删除的两种方法——控件数组和控件集合作详细的阐述。 <br />2. 基于控件数组
  • 怎么通过vb读取一个数组下标是否是这个控件本身设定的参数的下标,如果数据项有相同的话,怎么对数据下标的重复进行判断呢?
  • VB.NET控件之ComboBox

    2009-11-28 17:39:00
    Combobox(组合框)控件相当于将文本框和列表框的功能结合在一起。这个控件可以实现输入文本来选定项目,也可以实现从列表中选定项目这两种选择项目的方法。如果项目数超过了组合框能够显示的项目数,控件上将自动出现...
  • VB6中给数组赋值的限制

    千次阅读 2012-08-20 08:53:39
    (由于用得不是很多,所以干脆记下来免得下次用到时又忘了.)MSDN有个错误是"不能给数组赋值",即不能将整个数组指定给另一个数组....以下说明一下可以赋值的情况:[codes=vb] Private Type MyType kk(10...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,771
精华内容 1,908
关键字:

vb判断控件数组