• 推断文本框、组合框为空(房重建知识汇总)


        重建房收益,反复用于推断文本框、无论是组合框为空。并清除文本框、组合框。为了这个目的,一系列的抽象方法。我开始写的比较乱,昨天再次处理,家交流学习。

     

        上图是组合查询的界面,由于上篇讲到了窗口继承。所以有益选择组合查询的父窗口,以此为基础。谈一下如何推断文本框、组合框是否为空,如何清空文本框、组合框,同一时候作为窗口继承的实践,以及组合查询的前篇。

        组合查询有三个条件,我们能够选择一个、两个或三个,这就须要我们去推断当中一部分文本框、组合框是否为空。怎么办?方法有两个,一是把须要推断的控件封装在控件数组里。还有一种是放在容器Panel里(题外话:我開始用的GroupBox,结果不能够,后来是zhao同学提示的我用Panel。感谢zhao同学),以下用封装数组的方法实现:

    <span style="font-family:SimSun;font-size:18px;">    '推断数组控件是否为空
        Public Function IsEmptyControlArray(ByVal ArrayControl() As Control)
            Dim control As New Control                       '定义控件类
            For Each control In ArrayControl                     '遍历数组中的控件
                If TypeOf (control) Is TextBox And control.Tag <> "" Then   '推断文本框是否为空   Tag <> ""防止漏写tag报错
                    If control.Text.Trim = "" Then                           '假设空,请示用户输入
                        MsgBox("请输入" & control.Tag.ToString, vbOKOnly, "提示")
                        control.Focus()                                   '控件获得焦点
                        Return False                       '返回False
                    End If
                ElseIf TypeOf (control) Is ComboBox And control.Tag <> "" Then  '推断组合框是否为空
                    If control.Text = "" Or control.Text.Trim = "<请选择>" Then       '假设空,提示用户选择数据项
                        MsgBox("请选择" & control.Tag.ToString, vbOKOnly, "提示")
                        control.Focus()                         '获取焦点
                        Return False                          
                    End If
                End If
            Next
            Return True                                   
        End Function
    </span>

        假设是放在Panel中的,參数直接定义为Panel.ControlCollection就可以,假设是推断窗口的所有控件,那么把參数定义为Windows.Forms.Control.ControlCollection。对于清空文本框、组合框也是相同的方法,这里不再赘述。

    然后把你须要推断的控件放在数组里面。设置好对应的Tag,调用此方法就可以。

        封装控件以及调用的代码:

    <span style="font-family:SimSun;font-size:18px;">            Dim ControlArray(2) As Control             '定义控件数组,获取组合1的控件
                ControlArray(0) = cboField1
                ControlArray(1) = cboOperator1
                ControlArray(2) = txtKey1
    
                If CommonMethod.IsEmptyControlArray(ControlArray) = False Then               '推断组合1的控件是否为空
                    Exit Sub
                End If</span>

        看一下效果:


        此处所描述的方法,欢迎批评。

    版权声明:本文博客原创文章,博客,未经同意,不得转载。

  • 相关阅读:
    宏任务、微任务与Event Loop
    puppteer的使用
    docker的使用 -- windows
    vscode集成eslint
    删除git中无用的大文件
    git 使用
    利用chrome devtool 观察页面占用内存
    JS对象-不可扩展对象、密封对象、冻结对象
    数学
    素数 + 背包
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/4725331.html
Copyright © 2020-2023  润新知