如何文本框检查自身

Sniper_of_Chess

我正在尝试做验证输入的文本框(仅适用于数字)。

我对课程还很陌生,对某些事情有点困惑,但我会尽力学习。我在用户表单中有多个文本框,并且希望它们中的每一个都只能是数字输入。一开始我只检查一个文本框(vzdalenost1)。

第一个代码只是为了在文本框和类之间创建连接

Dim chk As New Class1
Private Sub UserForm_Initialize()
    Set chk.ChkEvents = Controls("Vzdalenost1")
End Sub

第二个代码是实际的类模块

Option Explicit
Public WithEvents ChkEvents As MSForms.TextBox

Private Sub ChkEvents_change()
    If IsNumeric(Me.Value) Or Me.Value = "" Then
        Else
            MsgBox "blablabla"
            Me.Value = ""
        End If
End Sub

当我尝试向文本框“vzdalenost1”中写入内容时,excel 显示错误消息“未找到方法或数据成员”。

我什至有类似将“me.value”替换为“me.control.value”之类的东西,这也不起作用。

多梅尼克

Me此上下文中的关键字指的是类对象本身,而不是文本框。使用ChkEvents来指代文本框- ChkEvents.Value

以下是如何重新编写代码以处理多个文本框。首先,让我们给你的类起一个有意义的名字,我们称之为 clsTextbox。然后,按照封装的原则,让我们将类中的对象声明为 Private,而不是 Public。这将阻止公众直接访问它。相反,我们将使用成员函数将文本框分配给类对象。所以我们的类模块的代码看起来像这样......

Option Explicit

Private WithEvents tb As MSForms.TextBox

Private Sub tb_Change()
    MsgBox tb.Name
End Sub

Public Function SetTextbox(ByRef obj As MSForms.TextBox)
    Set tb = obj
End Function

然后,对于我们的用户表单,首先我们在模块级别声明一个集合来保存我们的类对象。然后,因为我们将创建多个类对象,所以我们声明一个没有关键字的类对象New相反,我们将在每次创建新对象时使用该关键字,然后将该新对象添加到我们的集合中。所以我们用户表单的代码看起来像这样......

Option Explicit

Dim textboxCollection As Collection

Private Sub UserForm_Initialize()

    Set textboxCollection = New Collection

    Dim cTextbox As clsTextbox
    Dim ctrl As MSForms.Control
    For Each ctrl In Me.Controls
        If TypeName(ctrl) = "TextBox" Then
            Set cTextbox = New clsTextbox
            cTextbox.SetTextbox ctrl
            textboxCollection.Add cTextbox
        End If
    Next ctrl

End Sub

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

C#如何检查文本框

来自分类Dev

检查空的文本框

来自分类Dev

如何在VB的文本框中检查负值?

来自分类Dev

如何检查文本框的最大长度是否已超出?

来自分类Dev

如何检查文本框JavaScript中的链接

来自分类Dev

如何检查文本框是否为空

来自分类Dev

MVC-如何检查文本框中的空白

来自分类Dev

如何检查文本框JavaScript中的链接

来自分类Dev

如何在HTML文本框中检查null值?

来自分类Dev

jQuery如何检查文本框是否为空

来自分类Dev

当我检查ckeckbox时如何禁用文本框

来自分类Dev

我如何检查粘贴在文本框中的值?

来自分类Dev

如何在angularJs Factory中检查文本框isEmpty?

来自分类Dev

如何正确检查文本框是否为空?

来自分类Dev

对话框中检查文本框不为空时如何保存对话框

来自分类Dev

如何检查文本框中的文本是否是您想要的文本(php / html)

来自分类Dev

在JavaScript中检查空文本框的值时,如何过滤掉空文本框?

来自分类Dev

jQuery文本框值检查

来自分类Dev

检查特定格式的文本框

来自分类Dev

检查WPF文本框焦点

来自分类Dev

检查文本框是否为空

来自分类Dev

检查特定格式的文本框

来自分类Dev

检查文本框是否有值

来自分类Dev

Javascript 检查文本框的下拉值

来自分类Dev

如何填写文本框?

来自分类Dev

如何在文本更改的情况下比较和检查文本框值与标签值?

来自分类Dev

如何在 VBA (PowerPoint) 中的随机幻灯片上检查文本框中的文本?

来自分类Dev

如何从文本框中转义文本?

来自分类Dev

如何获取文本框的文本?