VB mouseup mousedown问题

DimswAsBooleanPublicFunctionfun(XAsInteger)AsIntegerIfX<20ThenY=XElseY=20+XEndIffun=Y... Dim sw As Boolean

Public Function fun(X As Integer) As Integer
If X < 20 Then
Y = X
Else
Y = 20 + X
End If
fun = Y
End Function

Private Sub Command1_Click()
Dim intnum As Integer
intnum = InputBox("")
If sw Then
Print fun(intnum)
End If
End Sub

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
sw = False
End Sub

Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
sw = True
End Sub
程序运行后,单机命令按钮,将显示一个输入对话框,如果在对话框中输入25,则程序执行结果是?
展开
 我来答
朝奈纯02
2010-08-17 · TA获得超过458个赞
知道小有建树答主
回答量:159
采纳率:0%
帮助的人:220万
展开全部
不会有任何结果!

分析:
在按钮上单击,Form不会有任何事件触发,所以Form_MouseDown和Form_MouseUp都不会被执行,所以sw一直保持默认值。
boolean类型的默认值是False,所以sw一直是False
所以Print fun(intnum)不会被执行,不会有任何结果。

对于这一点,你还可以加以验证,在Form_Load中加入一行代码
sw = True
这样就会有结果了,输入25,就会打印出45
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式