明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2110|回复: 19

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

  [复制链接]
发表于 2004-4-4 15:51:00 | 显示全部楼层 |阅读模式
在VB中我做了两个文本框,前面用了单选按钮来控制,目的是控制哪一个文本框是Focus。 现在要求在第一个文本框上填数字,然后通过公式可以在第二个文本框中显示结果;
同样,在第二个框中填数字,第一个框就可以出来结果;
两文本框中就这样的一种关系。
请教,我应该用什么事件才可以实现啊?
程序代码又应该怎么写啊??
谢谢好心人帮我一下吧~!!谢谢~!!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2004-4-4 20:02:00 | 显示全部楼层
  1. Private Sub TextBox1_Change()
  2.        If IsNumeric(Me.TextBox1.Value) Then
  3.                Me.TextBox2.Value = Me.TextBox1.Value + 5
  4.        Else
  5.                Me.TextBox2.Value = 0
  6.        End If
  7. End Sub
  8. Private Sub TextBox2_Change()
  9.        If IsNumeric(Me.TextBox2.Value) Then
  10.                Me.TextBox1.Value = Me.TextBox2.Value - 5
  11.        Else
  12.                Me.TextBox1.Value = 0
  13.        End If
  14. End Sub
发表于 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属性经常使程序混乱。你监视一下运行过程就会明白。
 楼主| 发表于 2004-4-11 22:20:00 | 显示全部楼层
奇怪,为什么我按你们给的写的却实现不了啊!!!!求助了!!!





我把".value"改为了".Text"好像都不行,是我的VB6.0有问题?还是什么问题了?


要在什么环境下实现吗?还是说控件属性要怎么设置啊??

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2004-4-12 00:01:00 | 显示全部楼层
你不用搞的那么复杂


只要一个文本框和两个单选按钮就可以搞定,还简单些
发表于 2004-4-12 07:19:00 | 显示全部楼层
这是VB中的写法:
  1. Private Sub Text1_Change()
  2.        If IsNumeric(Me.Text1) Then
  3.                Me.Text2 = Me.Text1 + 5
  4.        Else
  5.                Me.Text2 = 0
  6.        End If
  7. End Sub
  8. Private Sub Text2_Change()
  9. If IsNumeric(Me.Text2) Then
  10.                Me.Text1 = Me.Text2 - 5
  11.        Else
  12.                Me.Text1 = 0
  13.        End If
  14. End Sub
 楼主| 发表于 2004-4-12 18:21:00 | 显示全部楼层
谢谢指导~!!但还有点小疑问,我把里面公式变为了: Me.Text2 = Me.Text1 * 9550 / 450
Me.Text1 = Me.Text2 * 450 / 9550 之后我在Text1中输入了“5”,就下面这样显示了,要加点什么东西来控制吗?? 我按三楼的方法写如下:请教怎么我运行不出来,哪里错了吗?求助一下~!! 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而已,见笑了。。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2004-4-12 20:23:00 | 显示全部楼层
  1. Me.Text2 = Me.Text1 * 9550 / 450
  2. Me.Text1 = Me.Text2 * 450 / 9550
复制代码
有问题计算机进行除法运算时是用浮点数的
 楼主| 发表于 2004-4-16 09:55:00 | 显示全部楼层
lzh741206发表于2004-4-12 20:23:00Me.Text2 = Me.Text1 * 9550 / 450Me.Text1 = Me.Text2 * 450 / 9550 有问题 计算机进行除法运算时是用浮点数的

请教,那有什么办法来实现它或者来限制吗??
发表于 2004-4-16 18:32:00 | 显示全部楼层
用Format函数来限制精度
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-28 07:44 , Processed in 0.187925 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表