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

    2019-07-10 09:37:47
    VB 控件数组画图,每次输出新图形,前面的清除,可以画直线、矩形、圆。具体的代码操作,请看如下:  Private Sub Form_Load()  Picture1.Scale (0, 0)-(10, 10) '设置坐标系  End Sub  Private Sub Command1_...
  • 请问vb语言多个数组给多个控件调用,判断数组控件的关联性怎么判断,怎么得到数组关联的控件的其它属性?
  • 目的培养学生综合利用VB语言进行程序设计的能力,主要是培养学生利用系统提供的基本控件数组和循环等进行创新性设计。2.基本要求1、要求使用面向对象和结构化程序设计的编程思路。 2、自动售货机中有4*4中商品,每...

    程序开发目的

    1.目的

    培养学生综合利用VB语言进行程序设计的能力,主要是培养学生利用系统提供的基本控件、数组和循环等进行创新性设计。

    9c9cfb24b89ae87c660fbfd8933bb3a4.png

    2.基本要求

     1、 要求使用面向对象和结构化程序设计的编程思路。

      2、自动售货机中有4*4中商品,每种商品一次最多可放置6个,若缺货则不能购买,可选择直接退币或购买其他货品。

      3、用户在文本框中输入商品号,确定判断是否有该商品,然后投币。若未选择商品号则不能接受投币。

      4、若输入商品号有错或该商品缺货则弹出提示窗口。

      5、投币口只能接受五元和十元纸币,确定投币后在出货口送出购买商品并在找零口弹出应找零钱。

      6、若投入纸币不足以所需购买商品,则可继续选择其他商品或退币。

     7、 设有继续购买其他商品按钮。

      8、可以利用picture box 控件或图标表示商品图形。

    三、设计方法和基本原理     

    1.问题描述:

    自动售货机问题是指:在售货机里面有很多的货品可以出售,当用户需要货品时可以通过投币的形式获得,此售货机可以接受十元和五元纸币。用户投币并选择货品后售货机会根据用户的选择自动滚出货品和找零。

    2.问题的解决方案

    设计程序界面

    由于使用的都是基本控件,所以没有什么难得,直接按照图示的样子摆放就可以了,但是商品要使用控件数组。可以使用label或者picture box控件

    ②编写代码

    代码包括事件处理过程和功能函数,还有必要的声明。变量声明部分声明本程序所需要的变量和数组。

    事件处理包括下面的主要事件:

    Form_Load()

    作一些初始化的工作。

    Private Sub CommandX_Click()

    在文本框中输入相应内容后判断。

    四、主要技术问题的描述:

    1.数组的使用

    定义三个二维数组把不同商品及其价钱和数量分别存入数组中;

    2.函数的使用

    使用二维数组存放货品,定义好数组后要给数组赋初值,用户通过键盘在文本框中输入货品号,(例如  21)这个号码就是你需要货品的二维数组的下标,(其中2代表行,1代表列)。

    由于文本框接收来是字符串,应该先用函数mid()分别取行号和列号,再使用函数val()把其转换成数值类型,取过的行号和列号和数组对应可以找到相应的货品和该货品的价格。

    自动售货机的外观和功能请各位同学实际的自动售货机设计。要求在完成基本功能以外尽量考虑各种可能出现的情况。功能控件尽量使用vb提供的标准控件代替。

    学习VB中有问题可以添加小编微信号:vbyjk521 ,每晚在线免费答疑。

    df26ca3830666a3ea3d83786cfdd158f.png



    f39cf3d1386c6fc9920984964d576bbc.gif70ef40e956d52aea93a79415bafc573b.png

    长按上图,关注跟我学VB

    展开全文
  • 多个控件状态的VB6.0语言中怎么实现判断数组的值被读取几次的功能?如何防止一个数组下标被重复读或者重复写?
  • 怎么通过vb读取一个数组下标是否是这个控件本身设定的参数的下标,如果数据项有相同的话,怎么对数据下标的重复进行判断呢?
  • 关于vb语言中控件参数作为数组下标,如果一个下标的数据和另一个完全相同,怎么判断它不隶属于另一个对应控件数组
  • 控件参数在VB编程中怎么查找对应传来的数组下标是原二重数组的子数组的哪一个下标的序数?怎么判断下标序数是哪个控件
  • VB.NET 用循环判断文本框是否为空

    千次阅读 热门讨论 2015-11-25 16:35:19
    第一次敲机房的时候,有很多窗体中都有清空文本框或组合框中内容的功能,当时用了循环来做。现在第二次机房重构,发现判断文本框、组合框内容是否... 在网上查了一些方法,有一种是监理textBox文本框的控件数组,来循

        第一次敲机房的时候,有很多窗体中都有清空文本框或组合框中内容的功能,当时用了循环来做。现在第二次机房重构,发现判断文本框、组合框内容是否为空也可以用循环。其实这些功能最直接的方法就是一个一个的判断,不过这样代码基本上是重复的,这应该就是编程中的“坏味道”吧。我们并不是敲代码的机器,应该试着去尝试一些简单快速有效的方法。

        在网上查了一些方法,有一种是监理textBox文本框的控件数组,来循环判断,总觉得数组的命名跟咱们的机房有些问题,于是又发现了一个更好的方法。

        下面就具体介绍一下如何用循环来判断文本框是否为空以及清空文本。

    1.新建CheckModel模块。(右击U层——添加——新建项,在弹出的对话框中继续选择即可添加)


    2.在新建的模块中定义结构体Term,并定义Term类型的结构体数组。(关于结构体http://baike.baidu.com/link?url=16VDWHvVeIsVSfICL4zaEcqIbLieYSp_Y6LzeCgRt77pJ_Ic0DyUJIg8r9BaT6RWCsDs7GvV0TvcB0SOhhTS5_

        '定义结构体
        Public Structure Term
            Dim controlSub As Control
            Dim strText As String
            Sub New(ByVal controlSub As Control, ByVal strText As String)
                With Me
                    .controlSub = controlSub
                    .strText = strText
                End With
            End Sub
        End Structure
        '定义Term类型的结构体数组
        Public arrayControl() As Term

    3.以注册窗体为例,在frmRegister窗体中定义过程Rdim(),用来初始化Term类型结构体数组。

    注册窗体:


    Rdim()过程:

        Public Sub Rdim()
            '重新定义arrayControl()数组维数
            ReDim Preserve arrayControl(10)
            '初始化数组
            arrayControl(0) = New Term(txtCardNo, "卡号")
            arrayControl(1) = New Term(txtStuNo, "学号")
            arrayControl(2) = New Term(txtName, "姓名")
            arrayControl(3) = New Term(txtCash, "金额")
            arrayControl(4) = New Term(txtRemarks, "备注")
            arrayControl(5) = New Term(cboDepartment, "系别")
            arrayControl(6) = New Term(cboGrade, "年级")
            arrayControl(7) = New Term(cboClass, "班级")
            arrayControl(8) = New Term(cboSex, "性别")
            arrayControl(9) = New Term(cboStatus, "状态")
            arrayControl(10) = New Term(cboType, "类型")
        End Sub

    4.在CheckModel模块中添加CheckIsEmpty()函数,用来判断文本框、组合框的内容是否为空。

        '''定义判断是否为空的函数
        '''判断数组中控件的Text属性是否为空,并给出相应提示    
        '''</summary>    
        ''' <param name="arrayControl">需要遍历的结构体数组</param>    
        ''' <returns>返回Boolean值,true表示为空,false表示不为空</returns>
        Public Function CheckIsEmpty(ByVal arrayControl() As Term) As Boolean
            Dim termControl As Term
            '遍历结构体数组中的所有元素,如果控件文本为空,则弹出messsgbox提示用户 
            For Each termControl In arrayControl
                '判断窗体中的控件是否为文本框或组合框
                If TypeOf termControl.controlSub Is TextBox Or TypeOf termControl.controlSub Is ComboBox Then
                    '判断文本框或组合框中的内容是否为空
                    If termControl.controlSub.Text.Trim = "" Then
                        MessageBox.Show(termControl.strText & "不能为空", "", MessageBoxButtons.OK)
                        termControl.controlSub.Focus()
                        Return True
                        Exit Function
                    End If
                End If
            Next
            Return False      '返回false,提示内容不为空
        End Function

    5.在frmRegister窗体中调用CheckIsEmpty函数,检查是否为空。

        Private Sub btnOK_Click(sender As Object, e As EventArgs) Handles btnOK.Click
            '调用Rdim()初始化数组
            Call Rdim()
            '调用CheckIsEmpty()函数检查文本内容
            If CheckIsEmpty(arrayControl) Then
                Exit Sub
            End If
        End Sub

    6.在CheckModel模块中添加AllEmpty()函数,用来清空窗体中的文本框、组合框的内容

    '定义清空文本框或组合框的函数AllEmpty
        Public Function AllEmpty(ByVal arrayControl() As Term) As Boolean
            Dim termControl As Term
    
            For Each termControl In arrayControl
                If TypeOf termControl.controlSub Is TextBox Or TypeOf termControl.controlSub Is ComboBox Then
                    termControl.controlSub.Text = ""
                End If
            Next
            Return True
        End Function

    7.在frmRegister窗体中调用CheckEmpty()函数,清空内容。

        Private Sub btnEmpty_Click(sender As Object, e As EventArgs) Handles btnEmpty.Click
            Call Rdim()
            If AllEmpty(arrayControl) Then
                Exit Sub
            End If
        End Sub

    展开全文
  • vb.net controls集合

    2020-12-11 12:39:11
    vb.net中每一个form窗体中都包含一个controls集合,它包含了自动获取窗体的控件,即窗体中有什么控件它里面就有什么控件,例如它包含Text,ListText,comboBox,botton等控件。 用途 1、首先是大家大部分在机房中都会...

    vb.net中每一个form窗体中都包含一个controls集合,它包含了自动获取窗体的控件,即窗体中有什么控件它里面就有什么控件,例如它包含Text,ListText,comboBox,botton等控件。

    用途

    1、首先是大家大部分在机房中都会用到的,即判断文本框Text和组合框ComboBox是否为空,原理:首先判断是否是文本框Text和组合框ComboBox,如果是再给予判断与相应的提示。如果说是要判断部分的文本框Text和组合框ComboBox,则可以设置一个数组,把部分文本框Text和组合框ComboBox放在数组中,然后再把此数组当做参数传进方法中。

    2、突然想到用controls获取答案是相当不错的vb.net教程方法,不知能不能实现,就是用controls获取考试完成后获取答案,选择题是获取单选按钮的答案,这时会出现另一个问题,那就是获取之后controls集合中的答案的顺序,这里只是略提一下,具体的用到时再做研究。

    3、动态添加控件,form.controls.add() 这个方法,动态添加有时也会用到,例如:

         添加按钮控件
    
            Controls.Add("Forms.CommandButton.1","CommandButton" & i + 2, True)
    
         添加textbox控件
    
            Controls.Add(bstrprogid:="Forms.TextBox.1")
    

    以上有什么意见可以提出,共同讨论。

    展开全文
  • VB 使用DAO对象浏览数据库  rs.MoveFirst '移动记录指针  Command1.Enabled = False '使第一条和上一条按钮不可用 ... Text1(i).Text = rst.Fields(i).Value '为控件数组赋值  End If  Next i  End Sub
  • 魔兽争霸窗口化运行工具,可自动重新调整游戏窗口大小,自动隐藏程序本身,自动开始游戏(实现全自动);当游戏关闭后,程序会自动退出。... 7、好多控件数组(这个添加数量的)  8、xp界面化(还是添数的)
  • VB程序设计综合复习题 1、叙述Visual Basic的特点。 2、当窗体上有三个文本框和一个命令按钮,若程序运行时,焦点定位在第三个文本框(Text3)处,应对何控件的什么属性进行何种设置? 3、若要对窗体上的三个文本框...
  • VB课程设计俄罗斯方块

    热门讨论 2011-02-25 10:46:55
    并且使上面的方块自由下落,其中,方块向下的速度是有时钟控件控制的,在游戏中,用户也可以使用向下键加快下落速度,定义一个变量,对消除的函数进行记录,最后就可以得出用户的分数,用if 语句对分数判断,达到...
  • 自动计算数独VB源码

    2015-06-28 12:38:41
    软件是VB6.0开发的,只用到MSHFLXGD控件用于显示。程序只处理各点有两种可能值的情况,对只存在三种可能值的情况未进一步处理,该情况非常极端了。 软件可以保存布局,可选择预存的关数,退出时自动保存界面状态。...
  • 我们知道在vb中用到传统的方法是:把文本框粘贴复制成为数组,通过循环的方式遍历每一个文本框判定是否为空;要使弹出框提示内容与文本框相对应(如,“txtCardID”为空,则提示“卡号不能为空”)

               机房收费进行有一段时日了,今天对注册窗体的大量文本框和下拉列表进行操作时引发思考:指定文本框判断是否为空、是否为数字、清空文本框的代码都是大同小异的,依据相同归一原则,是否能将它们放到一个类中?


    我们知道在vb中用到传统的方法是:把文本框粘贴复制成为数组,通过循环的方式遍历每一个文本框判定是否为空;要使弹出框提示内容与文本框相对应(如,“txtCardID”为空,则提示“卡号不能为空”),可以通过定义转换函数的方法来实现。

            它存在的缺点是:控件数组的命名将不能直观体现文本框含义,我们必须将数组元素与文本框的真实含义相对应,否则就会出错。例如:txtbox(0)对应 “卡号”,如果错认为对应“学号“,提示内容将出现混乱。

            vb.net取消了控件数组的方法,我们再次粘贴复制的时候形成的是单个控件而不能形成数组。这时,我们必须另寻它法。通过查阅博客,找到了两个比较好的方法,与大家共勉:一个是王海涛师哥写的《VB.NET 完美解决判断文本框、组合框为空问题》;一个是霍亚静师姐《vb.net & 文本框为空提示,一键清空文本框所有内容》


            师哥用的是封装类的方法,通过定义控件基类,将控件封装进数组遍历来判断是否为空:

    Public Shared Function IsAllEmptyText(ByVal frm As Form) As Boolean  
        Dim control As New Control  
      
        For Each control In frm.Controls '遍历窗体中所有的控件  
            If TypeOf control Is TextBox Then '判断控件是不是文本框  
                If control.Text.Trim = "" Then '判断文本框内容是否为空  
                    MsgBox(control.Tag.ToString + "不能为空!", vbOKOnly, "温馨提示")  
                    control.Focus()  
                    Return True  
                    Exit Function  
                End If  
            ElseIf TypeOf control Is ComboBox Then '判断控件是不是组合框  
                If control.Text.Trim = "" Then  
                    MsgBox(control.Tag.ToString + "不能为空!", vbOKOnly, "温馨提示")  
                    Return True  
                    Exit Function  
                End If  
            End If  
        Next  
      
        Return False  
    End Function 
            

            所不同的是师姐采用结构体的思想,将所要提示的文字信息和控件封装进结构体(在U层建立模块窗体):

        Public Structure term    '定义结构体
            Dim controlSub As Control  '控件类型基类来储存控件
            Dim strText As String   '储存文字
    
            Sub New(ByVal controlSub As Control, ByVal strText As String)  'new方法来实例化控件
                With Me
                    .controlSub = controlSub
                    .strText = strText
                End With
            End Sub
        End Structure

           说到结构体,我是比较陌生的,可以将其理解为功能更为强大的数据类型。一个复杂的事物往往由一个变量来描述是不行的,需要许多不同类型的变量共同描述,就像“时钟”可以由“时、分、秒”共同描述一样;上例中的term结构体由控件control和字符string共同描述,可以用来存储多种类型的数据。

          

            第二步,定义存储结构体的数组,用于存放所要判断的控件信息:

    Public arrayControl() As term   '存放结构体的数组

            第三步,定义要实现的函数,可以将对文本框的常用判断都封装成函数,这里封装了是否为空,全部清空和是否为数字的判断方法:

      Public arrayControl() As term   '存放结构体的数组
    
        '判断是否为空函数
        Public Function CIsEmpty(ByVal ArrayControl() As term) As Boolean
            Dim termControl As New term   '实例化数组元素
    
            For Each termControl In ArrayControl   '每一个结构体数组中的元素
                '结构体的控件是文本框或者下拉列表框时,判断是否为空
                If (TypeOf termControl.controlSub Is TextBox) Or (TypeOf termControl.controlSub Is ComboBox) Then
                    If termControl.controlSub.Text.Trim = "" Then  '为空时提示不能为空,并获得焦点,返回true
                        MessageBox.Show(termControl.strText & "不能为空!!!", "", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
                        termControl.controlSub.Focus()
                        Return True
                        Exit Function
                    End If
                End If
            Next
    
            Return False  '返回false,表示没有为空的文本框
        End Function
    
        '将指定的文本框清空
        Public Function AllEmpty(ByVal Arraycontrol() As term) As Boolean
            Dim termControl As New term
    
            For Each termControl In Arraycontrol
                If TypeOf termControl.controlSub Is TextBox Then
                    termControl.controlSub.Text = ""
                End If
            Next
            Return True
        End Function
    
        '判断指定的文本框是否为数字
        Public Function IsNum(ByVal Arraycontrol() As term) As Boolean
            Dim termControl As New term
    
            For Each termControl In Arraycontrol
                If TypeOf termControl.controlSub Is TextBox Then
                    If IsNumeric(termControl.controlSub.Text.Trim) = False Then
                        MessageBox.Show(termControl.strText & "必须为数字!!!", "", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
                        termControl.controlSub.Text = ""
                        termControl.controlSub.Focus()
                        Return True
                        Exit Function
                    End If
                End If
            Next
            Return False
        End Function

          实现方法:在U层用sub方法收集结构体数组,使用时直接用Call调用

        Private Sub Rdim()
            ReDim Preserve arrayControl(7)
            arrayControl(0) = New term(txtCardID, "卡号")
            arrayControl(1) = New term(txtStuID, "学号")
            arrayControl(2) = New term(txtName, "姓名")
            arrayControl(3) = New term(txtSeriers, "系别")
            arrayControl(4) = New term(txtGrade, "年级")
            arrayControl(5) = New term(txtClass, "班级")
            arrayControl(6) = New term(txtDescribe, "描述")
        End Sub

        Private Sub btnClear_Click(sender As Object, e As EventArgs) Handles btnClear.Click
            '清空指定控件内容
            Call Rdim()
            If AllEmpty(arrayControl) Then
                Exit Sub
            End If
    
        End Sub
           

             结构体建立和函数的封装都是建立在U层的模块当中,其实跟我们敲击vb版机房收费系统模块是相同的,里面存储一些U层显示内容使用的静态方法,对比类而言,无法实现继承,无法实现接口。详细内容推荐一篇博文《VB.NET模块与众不同之处》

            任何方法都要考虑他的利弊,它对于控件较为繁杂的窗体是非常适用的,但如果一个窗体中只有两个文本框就大可不必使用如此繁琐的方式了,盲目的使用只会增加计算机的负担。诸如判断文本框内容是否为数字,使用IsNumeric方法就可以搞定,只有当判断的文本框比较多时才考虑将控件封装到结构体数组中。另外combox控件其实是不必判断为空的,从全心全意为人民服务的角度出发,应该在窗体登陆时就在这些控件中填充上常用的数据。

     

     总结:

            任何时候都应该使用批判的眼光去吸收所运用的知识,只有这样才能慢慢摸索门道,一种方法什么时候该用,什么时候好用!

            


    展开全文
  • 实例060 利用控件数组设置控件状态 实例061 如何声明控件变量数组 3.4 指针地址获取 实例062 如何获取对象实例私有域的地址 实例063 获取字符串第一个字的地址 实例064 获取变量的地址 实例065 获取数组的...
  • ASP.NET精品课程+源代码

    千次下载 热门讨论 2009-01-05 20:15:51
    涵盖了代码规范、运行模型、服务控件、验证控件、数据绑定技术、ADO.NET技术、数据库技术、文件操作等内容。 所列出的内容均是ASP.NET开发网站等应用的必备知识。我们在实训课题引入的前提下,通过一系列完整的案例...
  • Excel_VBA教程

    2014-09-22 11:36:34
    第八节 判断语句 2 第九节 循环语句 3 第十节 其他类语句和错误语句处理 4 第十一节 过程和函数 4 一.Sub过程 4 二.Function函数 5 三.Property属性过程和Event事件过程 5 第十二节内部函数 5 一.测试函数 5 二...
  • 3:判断用户输入的字母 .40 输出裴波那契数列…… 翻着音 40 巩固练习 第2章嵌套循环和数组. 44 核心技能部分… .45 2.1 VS2008中的调试技巧 45 2.2 嵌套循环 47 2.3 数组. 50 231数组的定义 50 232数组的基木操作 50...
  • 实例029 利用MMControl控件播放AVI动画 64 实例030 满屏播放AVI文件 65 实例031 视频画中画 66 实例032 宣传视频 66 2.2 资源提取与画面捕捉 68 实例033 提取FLV文件中的视频资源 68 实例034 USB摄像头视频...
  • 实例029 利用MMControl控件播放AVI动画 64 实例030 满屏播放AVI文件 65 实例031 视频画中画 66 实例032 宣传视频 66 2.2 资源提取与画面捕捉 68 实例033 提取FLV文件中的视频资源 68 实例034 USB摄像头视频...
  • java源码包---java 源码 大量 实例

    千次下载 热门讨论 2013-04-18 23:15:26
     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...
  • java源码包2

    千次下载 热门讨论 2013-04-20 11:28:17
     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...
  • java源码包3

    千次下载 热门讨论 2013-04-20 11:30:13
     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...
  • Java局域网通信——飞鸽传书源代码 28个目标文件 内容索引:JAVA源码,媒体网络,飞鸽传书 Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java...
  • Java局域网通信——飞鸽传书源代码 28个目标文件 内容索引:JAVA源码,媒体网络,飞鸽传书 Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java...
  • Java局域网通信——飞鸽传书源代码 28个目标文件 内容索引:JAVA源码,媒体网络,飞鸽传书 Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java...
  • JAVA上百实例源码以及开源项目

    千次下载 热门讨论 2016-01-03 17:37:40
     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...

空空如也

空空如也

1 2
收藏数 38
精华内容 15
关键字:

vb判断控件数组