精华内容
下载资源
问答
  • 使用VBA自定义了窗体并加入了一个文字框,现在固定了输入框的长度,想限制输入字符的长度。 例如固定输入了8半角字符的长度后再输入就不显示,达到MaxLength的效果。但是一个全角占两个字符ÿ...
  • 一个软件能够完成基本的功能的基础上,要让客户更好的用户体验。优化是重之重。第一次验项目时,师傅给我指出了很多问题。尤其是文本框的问题最大,而且任务量还繁多。所以我就从它先下手。虽然比较麻烦,...

    一个软件在能够完成基本的功能的基础上,要让客户有更好的用户体验。优化是重中之重。在第一次验项目时,师傅给我指出了很多问题。尤其是文本框的问题最大,而且任务量还繁多。所以我就从它先下手。虽然比较麻烦,但是很多不同窗体里的文本框text都是一样的问题。本质不变,只需要改下名字就好。下面是几类问题

    问题一:限制文本框输入字符个数

    解决办法

    1、直接在text文本框属性中定义MaxLength的值,MaxLength是设置文本框允许输入的字符最大数。超过设置数后,将不允许继续输入内容。

    2.通过代码

    Private Sub Text1_Change()
        If Len(Text1) >= 10 Then MsgBox "你已经输入了10个字,已到最大字符数!"
    End Sub 

    问题二:限制文本框输入的必须是数字

    解决办法

    Private Sub Text1_KeyPress(KeyAscii As Integer)
        If (KeyAscii < 48 Or KeyAscii > 57) Then
        End if
    End sub
    

    问题三:限制文本数字范围0-100(在问题二的基础上)

    遇到的问题

    Private Sub txtResult_LostFocus()
        Dim v As Integer
        If (AscW(txtResult) < 48 Or AscW(txtResult) > 57 ) Then
            MsgBox "请输入数字", vbOKOnly + vbExclamation, "警告"
            txtResult.Text = ""
            txtResult.SetFocus
        Else
            v = Val(txtResult.Text)
            If v < 0 Or v > 100 Then
                MsgBox "请输入0-100的数字", vbOKOnly + vbExclamation, "警告"
                txtResult.Text = ""
                txtResult.SetFocus
            End If
        End If
    End Sub

    刚开始我想的是既限制只能数字,又限制输入数字必须在0-100,刚开始我的代码是这样的,将这两点简单的糅合在一起,虽然能够简单的实现功能,但是又一个特别棘手的问题,如果光标移到这个文本框,但是没有输入任何字符,再将光标移开就会出现错误。

    报错:实时错误5 无效的过程调用或参数

     If (AscW(txtResult) < 48 Or AscW(txtResult) > 57 Or txtResult.Text = "") Then 

    显示该代码错误,通过代码我明白if条件语句中只有是数字和不是数字两种情况,缺少了第三种情况———文本框中没有任何字符。于是我将两种不是数字的情况放在了同一个if语句中,if语句条件改为下面的代码。

    '如果不是数字或者也没有输入任何字符。
    If (AscW(txtResult) < 48 Or AscW(txtResult) > 57 Or txtResult.Text = "") Then

    但是问题并不是这么简单的好解决的,还是报错,错误原因一样。于是我开始在网上查,但是没有找到结果。然后我就放弃了在网上查,我就自己想办法,既然自己知道问题出在了哪里,那就自己解决呗!我换了另一种思路,将输入不是数字和没有输入任何字符这两种情况分开写,放在两个if语句中,结果就能运行了。

    解决办法

    Private Sub txtResult_LostFocus()
        Dim v As Integer
        If txtResult.Text <> "" Then
            If (AscW(txtResult.Text) < 48 Or AscW(txtResult.Text) > 57) Then
                MsgBox "请输入数字", vbOKOnly + vbExclamation, "警告"
                txtResult.Text = ""
                txtResult.SetFocus
            Else
                v = Val(txtResult.Text)
                If v < 0 Or v > 100 Then
                    MsgBox "请输入0-100的数字", vbOKOnly + vbExclamation, "警告"
                    txtResult.Text = ""
                    txtResult.SetFocus
                End If
            End If
        Else
            MsgBox "成绩不能为空", vbOKOnly + vbExclamation, "警告"
        End If
    End Sub

    这件事也给我我一个教训,有时候遇到不会的,应该多动脑子,先试试自己能不能解决。虽然搜索引擎是一个好东西,但是先要尝试自己解决,不要让脑子成为一块石头。

    问题四:下拉列表文本框不可键盘输入

    解决方法

    Private Sub ComboBox1_KeyPress(KeyAscii As Integer)
        KeyAscii = 0
    End Sub 

     

    展开全文
  • 对于判断窗体中文本框是否为空以及一次性清空文本框内容这一问题,我们需要UI层中建一个公共类,将相应的定义与函数写该类。 操作二: 1新建的公共类TextModel声明公共内容部分: <s

    【前言】
    第二次基础机房收费系统,在很多系统优化方面有了更多的认识,对于窗体中文本框内容是否为空的提示以及一次性清空其内容,这些在第一次的机房收费系统中进行了尝试,在这次的机房收费系统个人重构的过程中,再次产生了这一方面的需求,如何减少代码的重复率,于是对该方面进行了探究。

    【具体操作】
    操作一:
    对于判断窗体中文本框是否为空以及一次性清空文本框内容这一问题,我们需要在UI层中建一个公共类,将相应的定义与函数写在该类中。
    在这里插入图片描述

     操作二:
     1、在新建的公共类TextModel中声明公共内容部分:
    
    <span style="font-size:18px;">Imports System.Windows.Forms.Control
    Imports System.Object
    Public Class TextModel
     
        '定义一个结构体Term
        Public Structure Term
            Dim controlSub As System.Windows.Forms.Control
            Dim strText As String
            Sub New(ByVal controlSub As System.Windows.Forms.Control, ByVal strText As String)
                With Me
                    .controlSub = controlSub
                    .strText = strText
                End With
            End Sub
        End Structure
     
        '用结构体定义一个Term类型数组
        Public Shared arrayControl() As Term</span>
    
     2、判断文本框中内容是否为空
     (1)在公共类中TextModel类中写入相应的函数
    
    <span style="font-size:18px;"> '判断文本框是否为空的函数
        Public Shared Function CIsEmpty(ByVal ArrayControl() As Term) As Boolean
     
            '定义一个term变量
            Dim termControl As Term
     
            '遍历结构体数组中所有的元素, 如果文本框为空, 则进行相应的提示
            For Each termControl In ArrayControl
     
                If TypeOf termControl.controlSub Is System.Windows.Forms.TextBox Then
                    If termControl.controlSub.Text.Trim = "" Then
                        Windows.Forms.MessageBox.Show(termControl.strText & "不能为空", "提醒", Windows.Forms.MessageBoxButtons.OK, Windows.Forms.MessageBoxIcon.Exclamation)
                        termControl.controlSub.Focus()
                        Return True
                        Exit Function
                    End If
                End If
     
            Next
        End Function</span>
    
      (2)在实际窗体中,例如在frmOnlineRecord窗体中判断文本框中内容是否为空
    
    <span style="font-size:18px;">Public Class frmOnlineRecord
     
        '对定义的结构体进行初始化处理,定义一个过程Rdim(),来完成该功能
        Private Sub Rdim()
            ReDim Preserve TextModel.arrayControl(1)
     
            TextModel.arrayControl(0) = New TextModel.Term(txtCardID, "卡号")
        End Sub
     
        Private Sub btnInquire_Click(sender As Object, e As EventArgs) Handles btnInquire.Click
     
            '调用Rdim过程进行数组初始化
            Call Rdim()
            If TextModel.CIsEmpty(TextModel.arrayControl) = True Then
                Exit Sub
            End If
       
       End Sub
     
    End Class</span>
    
    3、一次性清除文本框中的内容
    

    (1)在公共类TextModel中写入相应的函数

    <span style="font-size:18px;"> '设置对文本框一键清除
        Public Shared Function AllEmpty(ByVal arraycontrol() As Term) As Boolean
            Dim termControl As Term
     
            For Each termControl In arraycontrol
                If TypeOf termControl.controlSub Is Windows.Forms.TextBox Then
                    termControl.controlSub.Text = ""
     
                End If
            Next
            Return True
        End Function</span>
    
    (2)在对应窗体中调用 AllEmpty函数,实现一次性清除文本框中的内容
    
    <span style="font-size:18px;"> Private Sub btnExit_Click(sender As Object, e As EventArgs) Handles btnExit.Click
            Me.Hide()
     
            '调用Rdim(过程及AllEmpty函数)
            Call Rdim()
            If TextModel.AllEmpty(TextModel.arrayControl) Then
                Exit Sub
            End If
        End Sub</span>
    

    【学习感悟】
    就像米老vb.net教程

    师跟我们说过:从此,我们要c#教程开始不将就。有不满意的部分,就需要我们去改变,做到更好。这个过程需要我们积极地去探索,最怕的就是“就这样吧”、“凑活吧”、“差不多就行了”,因为一旦有了这样的心理,我们很难再有新的发现。在机房重构的过程中,自己想到了如何解决文本框的问题,在网上找了一点资料后没有找到想要的内容,想要去找python基础教程别的同学寻求帮助的时候,硕硕和宋荣凯对我说:网上有很多该方面的资料,自己找找看。很感谢他们给我一个自己探索的机会,正是在这样的情况下,才产生了意想不到的收获!

    展开全文
  • 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")
    

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

    展开全文
  • 码农的生活,很多级码农都这样的经历,会被一个小小的技术问题拦住,然后进度跟不上了,被老板XXXX一大通了。心情不爽了。 好吧,这个曾经是我遇到拦路虎之一。但事实上不是什么大技术。技术就是一层纸,破了...
  • C#----初识正则表达式

    2011-05-15 10:32:00
    新建一个WinForm工程,在窗体中放置一个文本框和一个按钮,以下代码在按钮中编写 string s_reg = @"^/d/d$"; 该字符串为正则表达式,约束文本框中的输入项只能是两个数字 string s = textBox1.Text...

    正则表达式多用在验证输入有效性上。.NET有专门的类来使用,主要是怎么组合正则表达式。以下是一个简单的正则表达式例子,该正则表达式的意思是,用户只能输入两个数字。

    新建一个WinForm工程,在窗体中放置一个文本框和一个按钮,以下代码在按钮中编写

    string s_reg = @"^/d/d$"; 该字符串为正则表达式,约束文本框中的输入项只能是两个数字
    string s = textBox1.Text.Trim();
    System.Text.RegularExpressions.Regex r = new System.Text.RegularExpressions.Regex(s_reg);
     if (r.IsMatch(s))
         MessageBox.Show("It is OK!");
     else
         MessageBox.Show("It is Bed!");

    展开全文
  • 因为过用VB写应用系统的经验,对窗体还是一定的认识,所以用着老一套的思维,再窗体中加入一个text文本框一个按钮两个组件,然后期待能在文本框中输入文字,点击按钮后将文本框的文字提出并生成语音读出。...
  • VB-TabIndex、GotFocus、SetFocus

    千次阅读 2017-06-20 22:13:09
    1、tabIndextabIndex是 设置 窗体中 对象 响应 tab 键 的顺序值例如 :3 文本框 text1 的tabIndex 为 2 text2 的tabIndex 为 1 text3 的tabIndex 为 0, 运行程序,焦点首先落 text3里,按 tab键 光标会...
  • vb考试题

    2008-01-17 11:21:00
    1、名称为Form1的窗体上画一个文本框,其名称为Text1属性窗口把该文本框的MultiLine属性设置为True,然后编写如下的事件过程: Private Sub Form_Click()  Open "d:"test"smtext1.txt"...
  • 我们通常需要编写用户登录窗口来控制用户使用该系统,这里以Visual Basic+ADO为例: 一、漏洞的产生 用于登录的表 Users(name,pwd) 建立一个窗体Frmlogin,其上个文本框Text1,Text2和两个命令按钮cmdok,cmd...
  • 6、当运行程序前,对某些控件设置属性值,除了在窗体中直接设置外,还可以通过代码设置,这些代码一般放在什么事件中?例如,程序要将命令按钮定位在窗体的中央,请写出事件过程。 7、在KeyPress事件中,如何取消...
  • -修正了使用IFrameUrl的Tab切换过程会重复加载的问题,这是一个在v2.1.6引入的问题(feedback:eroach)。 -修正了启用AutoPostBack的Grid,其RowClick会覆盖LinkButtonField, HyperLinkField, CheckBoxField的...
  • form1上添加一个文本框控件text1在text1控件的dragicon属性的设置对话框选择一个指针形状(.ico文件)。  将如下代码添加到text1的mousemove事件:  private sub text1_mousemove(button as integer, ...
  • VBScript语言参考手册

    2012-12-25 22:14:26
    HTML 代码的结果是一个文本框和一个按钮。如果使用 Microsoft® Internet Explorer 查看用以下代码制作的页面,您会看到一个旁边带按钮的小文本框。 <HTML> <HEAD><TITLE>简单验证</TITLE>...
  • 我们通常需要编写用户登录窗口来控制用户使用该系统,这里以Visual Basic+ADO为例: 一、漏洞的产生 用于登录的表 Users(name,pwd) 建立一个窗体Frmlogin,其上个文本框Text1,Text2和两个命令按钮cmdok,...
  • 新建一个名为“NETA”的Windows...(3)Form2窗体放置一个命令按钮,其text设置为“计算”。Form2窗体中单击“计算”按钮,每行10个数打印出30个介于2010到3010间的随机整数,并用msgbox对话框显示其中的最小值。
  • VB的程序代码是允许换行书写的,只要每次换行的最后一个字符加上换行字符“_”就可以了。例如: 引用: Sub PicMove() Frm.Picture2.Left = Frm.Picture1.Left + _ ’加上换行符 Frm.Picture1.Width End ...
  • javascript试题.doc

    2020-02-10 23:33:33
    3. 使用JavaScript实现下面的功能:在一个文本框中内容发生改变后,单击页面的其他部分将弹出一个消息框显示文本框的内容。下面语句正确的是( A )。 A. <INPUT TYPE="text" onChange = "alert(this.value) "> ...
  • 图书管理系统毕业设计+源码-java

    千次下载 热门讨论 2012-05-06 13:45:09
    在窗体中添加一个Databinder控件(DataBinder控件从记录集中绑定字段到其它控件的属性中。当属性绑定时,它将自动以当前记录中该字段的值设置。与DataSource控件一样,DataBinder控件在窗体运行时也不显示,它只管理...
  • vb学生成绩管理系统

    2013-06-28 08:55:24
    '如果输入了学号,则把姓名显示在Text1.Text strSQL = "select * from 学生情况表" strSQL = strSQL + " Where 学号='" + Combo1.Text + " '" ADOrs.Open strSQL Text1.Text = ADOrs.Fields("姓名") ADOrs.Close '...
  • 107常用javascript语句

    2011-03-06 23:59:07
    25.取出窗体中的所有表单的数量:document.forms.length 26.关闭文档的输出流:document.close(); 27.字符串追加连接符: = 28.创建一个文档元素:document.createElement(),document.createTextNode() 29.得到元素的...
  • 学生管理系统 源代码

    2019-01-07 21:43:37
    (3)完成的MainForm_Load事件处理程序:当加载窗体时,直接在窗体的dataGridView1控件显示数据表的所有记录; (4)可以设查询条件:首先在组合框comboBox1中选择查询条件,并在textBox1中输入条件值(可以模糊...
  • C#控件大全

    热门讨论 2012-10-22 13:54:46
    (10)MaximizeBox属性:用来获取或设置一个值,该值指示是否在窗体的标题栏显示最大化按钮。值 为 true时显示最大化按钮,值为false时不显示最大化按钮。 (11)MinimizeBox 属性:用来获取或设置一个值,该值...
  • 打冰雹游戏源程序

    2013-06-16 00:07:04
    如果有一个圆球落到地面,则减1。当能量为0时,显示如图1.27所示的消息框。然后,程序自动将难度改为“简单”让用户重新开始,这时能量恢复为5,得分从0开始。 (5)圆球落地后立即消失,新的圆球从顶部落下,窗口...
  • c# 加密和解密相关代码

    热门讨论 2011-09-06 11:04:59
    (2)更改默认窗体Form1 的Name 属性为Frm_Main,窗体中添加两个GroupBox 容器控件,其中, 一个GroupBox 中放入3 个TextBox 控件和一个Button 按钮,分别用于输入数字、输入加密数字、显示加 密后的数字和...
  • Editplus 3[1].0

    2011-04-02 10:45:21
    括号正则表达式表示,文本的字符匹配括号任意一个字符即符合查找条件。 (3)按一下空格键,添加空格符。空格符是空行的一个组成成分。 (4)选择“制表符”,添加代表制表符的“\t”。 (5)移动光标,将...
  • If lstbus.ListCount > 0 Then '列表框中有数据 lstbus.ListIndex = 0 '选中第1个数据 End If rst.Close '关闭记录集 cnn.Close '关闭数据库连接 End Sub Private Sub Label2_Click() End Sub Private Sub...
  • //如果一个类需要界面的显示,那么该类就需要继承自JFrame,并被称为"窗体类"。 //1.定义JFrame窗体中的组件 //2.构造方法中初始化窗体的组件 //3.使用网络编程完成数据的传输(TCP,UDP 协议) //4.实现发送...

空空如也

空空如也

1 2 3 4
收藏数 65
精华内容 26
关键字:

在窗体中有一个文本框text1