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

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

在VB中我做了两个文本框,前面用了单选按钮来控制,目的是控制哪一个文本框是Focus。


现在要求在第一个文本框上填数字,然后通过公式可以在第二个文本框中显示结果; <BR>同样,在第二个框中填数字,第一个框就可以出来结果; <BR>两文本框中就这样的一种关系。 <BR>


请教,我应该用什么事件才可以实现啊? <BR>程序代码又应该怎么写啊?? <BR>谢谢好心人帮我一下吧~!!谢谢~!!

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<BR>Private Sub TextBox1_Change()<BR>If IfChange Then<BR>                       IfChange = False<BR>                       If IsNumeric(Me.TextBox1.Value) Then<BR>                                                       Me.TextBox2.Value = Me.TextBox1.Value + 5<BR>                       Else<BR>                                                       Me.TextBox2.Value = 0<BR>                       End If<BR>                       IfChange = True<BR>End If<BR>End Sub


<BR>Private Sub TextBox2_Change()<BR>If IfChange Then<BR>                       IfChange = False<BR>                       If IsNumeric(Me.TextBox2.Value) Then<BR>                                                       Me.TextBox1.Value = Me.TextBox2.Value - 5<BR>                       Else<BR>                                                       Me.TextBox1.Value = 0<BR>                       End If<BR>End If<BR>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<BR>Me.Text1 = Me.Text2 * 450 / 9550


之后我在Text1中输入了“5”,就下面这样显示了,要加点什么东西来控制吗??


我按三楼的方法写如下:请教怎么我运行不出来,哪里错了吗?求助一下~!!


Dim IfChange As Boolean


Private Sub Text1_Change()<BR>       If IfChange Then<BR>                       IfChange = False<BR>                       If IsNumeric(Me.Text1) Then<BR>                                       Me.Text2 = Me.Text1 + 5<BR>                       Else<BR>                                       Me.Text2 = 0<BR>                       End If<BR>                       IfChange = True<BR>       End If<BR>End Sub


Private Sub Text2_Change()<BR>       If IfChange Then<BR>                       IfChange = False<BR>                       If IsNumeric(Me.Text2) Then<BR>                                       Me.Text1 = Me.Text2 - 5<BR>                       Else<BR>                                       Me.Text1 = 0<BR>                       End If<BR>                       IfChange = True<BR>       End If<BR>End Sub


注:我才学会了点VB而已,见笑了。。

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

Me.Text2 = Me.Text1 * 9550 / 450
Me.Text1 = Me.Text2 * 450 / 9550有问题计算机进行除法运算时是用浮点数的

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

lzh741206发表于2004-4-12 20:23:00static/image/common/back.gifMe.Text2 = Me.Text1 * 9550 / 450Me.Text1 = Me.Text2 * 450 / 9550



有问题


计算机进行除法运算时是用浮点数的


<BR>       


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

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

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