首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 文本框的问题 [已结贴,结贴人:romantic774]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-02 20:44:39 楼主
    大家好,有这样一个问题:我在文本框的keypress事件中,编写:
    如果输入的是字符(例如a等),则弹出对话框,说明无效,重新输入,然后我想清空选中文本框中的内容,该怎样实现呢?
    20  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-02 20:51:141楼 得分:5
    Private Sub Text1_KeyPress(KeyAscii As Integer)
        If Chr(KeyAscii) = "a" Then
            MsgBox "无效"
            KeyAscii = 0
            Text1.Text = ""
        End If
    End Sub
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-02 21:05:172楼 得分:0
    太感谢了,你能告诉我那个 KeyAscii = 0 有什么作用吗?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-02 21:14:283楼 得分:2
    应该这样:

    VBScript code
    Option Explicit Private Sub Form_Load() Text1.Text = "" End Sub Private Sub Text1_Change() If InStr(1, Text1.Text, "a") > 0 Then MsgBox ("输入无效,请重新输入!") Text1.Text = "" End Sub
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-02 22:15:364楼 得分:0
    哦发现错了:Text1_Change中要取消Text1.Text = "",否则不能输入了。对不起!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-02 22:19:235楼 得分:0
    改成这样:
    VBScript code
    Private Sub Text1_Change() If InStr(1, Text1.Text, "a") > 0 Then MsgBox ("输入无效,请重新输入!") Text1.Text = "" End If End Sub
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-03 00:42:356楼 得分:3
    VBScript code
    Private Sub Text1_Change() If Asc(InStr(1, Text1.Text) = 97) Then If (MsgBox("输入错误!", vbOKOnly) = vbOK) Then Text1.SelStart = 0 Text1.SelLength = Text1.Width Text1.SetFocus End If End If End Sub

    因为字母a对应的ASCII值是97,所以在判断的时候用Asc(InStr(1, Text1.Text) = 97)来判断
    接着,弹出输入错误,并按了确定之后,就会把输入的a选中,楼主可以试一下.
    另外,二楼的keyascii是指的按键对应的ASCII的值.
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-03 10:21:087楼 得分:10
    Private Sub Text1_KeyPress(KeyAscii As Integer)
      If (KeyAscii >= 65 And KeyAscii <= 90) Or (KeyAscii >= 97 And KeyAscii <= 122) Then
          KeyAscii = 0 '一般就是不给值
          'Text1.Text = "" '把整个Text1清空没道理
          MsgBox ("输入无效,请重新输入!")
      End If
    End Sub


    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved