VB 勾选内容输出

我这里有5个checkbox做勾选,分别是CHECK1,CHECK2,CHECK3,CHECK4,CHECK5还有5个text文本框(或者其他显示文字的),现在我只勾选了... 我这里有5个 checkbox 做勾选,分别是 CHECK1,CHECK2,CHECK3,CHECK4,CHECK5
还有5个text文本框(或者其他显示文字的),
现在我只勾选了 1,和5
想把check1和check5的caption(内容)分别输入到 TEXT1,text2里面,
提问
1、请问如何写输入代码,
2、每个checkbox都有一个对应价格,应该怎么在checkbox里设置,caption里只能显示他的名称
我想把勾选后在text里显示的内容(包含价格), 乘以数量得到最终价格
窗口1的是checkbox 1-5
窗口2如果放同样5个文本,但是只有前面打钩后面才显示/或者修改,应该怎么做
展开
 我来答
网海1书生
科技发烧友

推荐于2016-02-02 · 擅长软件设计、WEB应用开发、小程序
网海1书生
采纳数:12311 获赞数:26228

向TA提问 私信TA
展开全部

首先建议你5个CheckBox和5个TextBox尽量做成控件数组,这样代码量会减少一半以上!

下面是不用控件数组的代码:

Private Sub Check1_Click()
If Check1.Value = 1 Then
    Text1.Text = Check1.Caption & " 价格" & Val(Check1.Tag) * Val(Text6.Text)
Else
    Text1.Text = ""
End If
End Sub

Private Sub Check2_Click()
If Check2.Value = 1 Then
    Text2.Text = Check2.Caption & " 价格" & Val(Check2.Tag) * Val(Text6.Text)
Else
    Text2.Text = ""
End If
End Sub

Private Sub Check3_Click()
If Check3.Value = 1 Then
    Text3.Text = Check3.Caption & " 价格" & Val(Check3.Tag) * Val(Text6.Text)
Else
    Text3.Text = ""
End If
End Sub

Private Sub Check4_Click()
If Check4.Value = 1 Then
    Text4.Text = Check4.Caption & " 价格" & Val(Check4.Tag) * Val(Text6.Text)
Else
    Text4.Text = ""
End If
End Sub

Private Sub Check5_Click()
If Check5.Value = 1 Then
    Text5.Text = Check5.Caption & " 价格" & Val(Check5.Tag) * Val(Text6.Text)
Else
    Text5.Text = ""
End If
End Sub

Private Sub Form_Load()
Check1.Caption = "商品1"
Check1.Tag = 12.45  '利用tag属性来保存价格
Text1.Text = ""
Check2.Caption = "商品2"
Check2.Tag = 6.64
Text2.Text = ""
Check3.Caption = "商品3"
Check3.Tag = 18.33
Text3.Text = ""
Check4.Caption = "商品4"
Check4.Tag = 3.25
Text4.Text = ""
Check5.Caption = "商品5"
Check5.Tag = 28.98
Text5.Text = ""
Text6.Text = "1"   'Text6是输入数量的
End Sub

 下面是用了控件数组的代码:

Private Sub Check1_Click(Index As Integer)
If Check1(Index).Value = 1 Then
    Text1(Index).Text = Check1(Index).Caption & " 价格" & Val(Check1(Index).Tag) * Val(Text6.Text)
Else
    Text1(Index).Text = ""
End If
End Sub

Private Sub Form_Load()
Dim i As Integer
For i = 0 To 4
    Check1(i).Caption = "商品" & i '实际应用中商品名和价格是要通过数据库获取,
    Check1(i).Tag = 12.45          '这里作为例子就随意输入了
    Text1(i).Text = ""
Next
Text6.Text = "1"   'Text6是输入数量的
End Sub
更多追问追答
追问
非常感谢,另外请教
我可以在checkbox旁边建一个 text吗, 在text里输入数字赋给checkbox的tag,
这样在后面可以直接调用打钩选项的tag进行计算
可以的话公式应该怎样
追答

你这样的话就不用把text的数值赋值给tag了,计算的时候直接调用text的内容即可,

比如说在Check1的旁边加一个Text11,则:

Private Sub Check1_Click()
If Check1.Value = 1 Then
    Text1.Text = Check1.Caption & " 价格" & Val(Text11.Text) * Val(Text6.Text)
Else
    Text1.Text = ""
End If
End Sub

也就是把Check1.Tag换成Text11.Text即可

我们的梦168
2014-05-07 · TA获得超过194个赞
知道小有建树答主
回答量:261
采纳率:0%
帮助的人:169万
展开全部
'设置Check2.Caption为商品名称,Check2.Tag为单价
If Check1.Value = Checked Then '有勾选 unChecked’为未勾选
Text1.Text = "名称:" & Check1.Caption & "," & "单价:" & Check1.Tag
End If
If Check2.Value = Checked Then '有勾选 unChecked’为未勾选
Text2.Text = "名称:" & Check2.Caption & "," & "单价:" & Check2.Tag
End If
更多追问追答
追问
我要计算数量*单价可以直接写     text9.text=val(check2.tag)*val(text8.text) 吗
追答
应该可以
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式