简单修改了一下,有几个小问题:1、变量声明的位置不对,应该声明成全局的。因为这几个变量在两个事件过程中都要使用。2、text1和text2都是文本控件,里面输入的有可能是数字,也可能是其它字符,所以必须字符进行判断处理,否则就可能出现“类型不匹配”的错误。所以,使用IsNumeric(Text1.Text)这个函数判断是不是数字,否则将变量m和n置为0。Dim m%, n%, x%, y%Priv 展开
简单修改了一下,有几个小问题: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 收起