标题:求助:为什么无法输入负数(基础的东西)
取消只看楼主
allanwu244
Rank: 2
等 级:论坛游民
帖 子:134
专家分:20
注 册:2007-7-24
结帖率:100%
 问题点数:0 回复次数:2 
求助:为什么无法输入负数(基础的东西)
该段代码有什么问题呢?
如果先输入一个"-"号后,就没法输入数值.
请教如何更改,卡住了.
Private Sub Command1_Click()
 If IsNumeric(Text1.Text) Then
  Select Case CLng(Text1.Text)  
   Case Is > 0
      MsgBox "该数大于0", vbInformation, "答案"
      Text1.Text = ""
      Text1.SetFocus
   Case Is < 0
      MsgBox "该数小于0", vbInformation, "答案"
       Text1.Text = ""
      Text1.SetFocus
   Case Is = 0
     MsgBox "该数=0", vbInformation, "答案"
      Text1.Text = ""
      Text1.SetFocus
 End Select
   Else
  MsgBox "请输入一个数值", vbExclamation, "提示"
    Text1.Text = ""
     Text1.SetFocus
End If
End Sub
Private Sub Form_Load()
 Text1.Text = ""
End Sub
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
If Text1.Text <> "" And Not IsNumeric(Text1.Text) Then
 Call Command1_Click
 Else
 Command1.SetFocus
End If
End Sub
                                                                                                                   谢谢
搜索更多相关主题的帖子: 输入 基础 负数 
2010-01-10 00:35
allanwu244
Rank: 2
等 级:论坛游民
帖 子:134
专家分:20
注 册:2007-7-24
得分:0 
以下是引用bczgvip在2010-1-10 00:40:32的发言:

val(Text1.Text) 'CLNG
Val(string):返回包含于字符串内的数字,字符串中是一个适当类型的数值.
那么是数据类型不对了?
即:CLng(Text1.Text)不要?
                       谢谢那么晚回复

边学边做,天天向上.
2010-01-10 01:05
allanwu244
Rank: 2
等 级:论坛游民
帖 子:134
专家分:20
注 册:2007-7-24
得分:0 
以下是引用btxdlibin在2010-1-16 19:47:04的发言:

其实这是Text1_KeyDown事件的执行问题

在你按键时 字符并不是马上就显示在TextBox中

而是先执行了这个KeyDown事件.导致你的Command1_Click事件中处理的TextBox内容为"-", 而不是你想要的一个负数.

解决方案:这个你 ...
谢谢您 Doevent 还没学到 ,稍后按您的方法做.

边学边做,天天向上.
2010-01-16 22:17



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-295378-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.755007 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved