loozhi 发表于 2004-4-4 15:51:00

[求助]关于相互求值,简单问题请教!!

在VB中我做了两个文本框,前面用了单选按钮来控制,目的是控制哪一个文本框是Focus。
现在要求在第一个文本框上填数字,然后通过公式可以在第二个文本框中显示结果;
同样,在第二个框中填数字,第一个框就可以出来结果;
两文本框中就这样的一种关系。
请教,我应该用什么事件才可以实现啊?
程序代码又应该怎么写啊??
谢谢好心人帮我一下吧~!!谢谢~!!

mccad 发表于 2004-4-4 20:02:00


Private Sub TextBox1_Change()
       If IsNumeric(Me.TextBox1.Value) Then
               Me.TextBox2.Value = Me.TextBox1.Value + 5
       Else
               Me.TextBox2.Value = 0
       End If
End Sub
Private Sub TextBox2_Change()
       If IsNumeric(Me.TextBox2.Value) Then
               Me.TextBox1.Value = Me.TextBox2.Value - 5
       Else
               Me.TextBox1.Value = 0
       End If
End Sub

my_computer 发表于 2004-4-5 23:23:00

Dim IfChange As Boolean
Private Sub TextBox1_Change()
If IfChange Then
                       IfChange = False
                       If IsNumeric(Me.TextBox1.Value) Then
                                                       Me.TextBox2.Value = Me.TextBox1.Value + 5
                       Else
                                                       Me.TextBox2.Value = 0
                       End If
                       IfChange = True
End If
End Sub
Private Sub TextBox2_Change()
If IfChange Then
                       IfChange = False
                       If IsNumeric(Me.TextBox2.Value) Then
                                                       Me.TextBox1.Value = Me.TextBox2.Value - 5
                       Else
                                                       Me.TextBox1.Value = 0
                       End If
End If
End Sub
建议添加 Ifchange变量控制修改的进入问题。change属性经常使程序混乱。你监视一下运行过程就会明白。

loozhi 发表于 2004-4-11 22:20:00

奇怪,为什么我按你们给的写的却实现不了啊!!!!求助了!!!


我把".value"改为了".Text"好像都不行,是我的VB6.0有问题?还是什么问题了?
要在什么环境下实现吗?还是说控件属性要怎么设置啊??

雪山飞狐_lzh 发表于 2004-4-12 00:01:00

你不用搞的那么复杂
只要一个文本框和两个单选按钮就可以搞定,还简单些

mccad 发表于 2004-4-12 07:19:00

这是VB中的写法:
Private Sub Text1_Change()
       If IsNumeric(Me.Text1) Then
               Me.Text2 = Me.Text1 + 5
       Else
               Me.Text2 = 0
       End If
End Sub
Private Sub Text2_Change()
If IsNumeric(Me.Text2) Then
               Me.Text1 = Me.Text2 - 5
       Else
               Me.Text1 = 0
       End If
End Sub

loozhi 发表于 2004-4-12 18:21:00

谢谢指导~!!但还有点小疑问,我把里面公式变为了:
Me.Text2 = Me.Text1 * 9550 / 450
Me.Text1 = Me.Text2 * 450 / 9550
之后我在Text1中输入了“5”,就下面这样显示了,要加点什么东西来控制吗??
http://bbs.mjtd.com/forum.php?mod=attachment&aid=NjU0NXxhM2M0NGI3YXwxNjU5MTc2NjkyfDczMjY5MTh8MTg5NTA%3D&noupdate=yes&nothumb=yes
我按三楼的方法写如下:请教怎么我运行不出来,哪里错了吗?求助一下~!!
Dim IfChange As Boolean
Private Sub Text1_Change()
       If IfChange Then
                       IfChange = False
                       If IsNumeric(Me.Text1) Then
                                       Me.Text2 = Me.Text1 + 5
                       Else
                                       Me.Text2 = 0
                       End If
                       IfChange = True
       End If
End Sub
Private Sub Text2_Change()
       If IfChange Then
                       IfChange = False
                       If IsNumeric(Me.Text2) Then
                                       Me.Text1 = Me.Text2 - 5
                       Else
                                       Me.Text1 = 0
                       End If
                       IfChange = True
       End If
End Sub
注:我才学会了点VB而已,见笑了。。

雪山飞狐_lzh 发表于 2004-4-12 20:23:00

复制代码有问题计算机进行除法运算时是用浮点数的

loozhi 发表于 2004-4-16 09:55:00


       
                        请教,那有什么办法来实现它或者来限制吗??

mccad 发表于 2004-4-16 18:32:00

用Format函数来限制精度
页: [1]
查看完整版本: [求助]关于相互求值,简单问题请教!!