房天下 > 房天下问答 > 业主生活 > 其他
  • 请各位高手帮我看看是哪里出问题了..谢谢..分不多..全部送出

    Private Sub text1_lostfocus() Dim m%, n%, x%, y% m = Text1.TextIf m <= 0 Then MsgBox ("头数必须是正实数,请重新输入") Text1.Text = "" Text1.SetFocus End IfEnd SubPrivate Sub form_click()n = Text2.TextIf n <= 0 Then MsgBox ("脚数必须是正实数,请重新输入") Text2.Text = "" Text2.SetFocusElseIf n < 2 * m Then MsgBox ("脚数小于头数的倍数,请重新输入") Text2.Text = "" Text2.SetFocusElseIf n Mod 2 <> 0 Then MsgBox ("脚数必须是头的2倍以上,请重新输入") Text2.Text = "" Text2.SetFocusElseIf n > 4 * m Then MsgBox ("脚数必须小于头数4倍,请重新输入") Text2.Text = "" Text2.SetFocusElse y = n / 2 - m x = m - yLabel5.Caption = xlabal6.Caption = y End IfEnd Sub运行之后弹出"脚数必须小于头数4倍,请重新输入"请高手帮我看看是什么问题~~

    提问者:为爱痴心

    发布于2011-01-25

共1个回答
  • kaijinwen 丨Lv 4
    简单修改了一下,有几个小问题:1、变量声明的位置不对,应该声明成全局的。因为这几个变量在两个事件过程中都要使用。2、text1和text2都是文本控件,里面输入的有可能是数字,也可能是其它字符,所以必须字符进行判断处理,否则就可能出现“类型不匹配”的错误。所以,使用IsNumeric(Text1.Text)这个函数判断是不是数字,否则将变量m和n置为0。Dim m%, n%, x%, y%Private Sub text1_lostfocus()If IsNumeric(Text1.Text) Then m = Text1.TextElse m = 0End IfIf m <= 0 ThenMsgBox ("头数必须是正实数,请重新输入")Text1.Text = ""Text1.SetFocusEnd IfEnd SubPrivate Sub form_click()If IsNumeric(Text2.Text) Then n = Text2.TextElse n = 0End IfIf n <= 0 ThenMsgBox ("脚数必须是正实数,请重新输入")Text2.Text = ""Text2.SetFocusElseIf n < 2 * m ThenMsgBox ("脚数小于头数的倍数,请重新输入")Text2.Text = ""Text2.SetFocusElseIf n Mod 2 <> 0 ThenMsgBox ("脚数必须是头的2倍以上,请重新输入")Text2.Text = ""Text2.SetFocusElseIf n > 4 * m ThenMsgBox ("脚数必须小于头数4倍,请重新输入")Text2.Text = ""Text2.SetFocusElsey = n / 2 - mx = m - yLabel5.Caption = xlabal6.Caption = yEnd IfEnd Sub
    +10 2011-01-25 举报
热门人气推荐
免责声明:问答内容均来源于互联网用户,房天下对其内容不负责任,如有版权或其他问题可以联系房天下进行删除。