以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]checkbox返回值问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=101336) |
-- 作者:sexbee -- 发布时间:2017/5/28 21:08:00 -- [求助]checkbox返回值问题 一个窗口多个checkbox,每个代表不同数值,每次勾选其中若干个,则返回相加值,如何实现? |
-- 作者:有点色 -- 发布时间:2017/5/29 10:52:00 -- 把checkbox放在一个容器里面,这样可以遍历所有控件,方便计算。
也可以把checkbox的名字设置为统一的,如 cbx_1、cbx_2、cbx_3,这样也可以方便计算。
参考代码 Dim sum As Double = 0 For i As Integer = 1 To 3 Dim cbx As WinForm.CheckBox = e.form.controls("cbx_" & i ) If cbx.Checked Then sum += val(cbx.Text) End If Next msgbox(sum)
|
-- 作者:sexbee -- 发布时间:2017/5/30 21:09:00 -- 谢谢,我想了解就是 cbx.Text 中 text属性是指 其中的什么? 是“”标题“”里面的内容? |
-- 作者:sexbee -- 发布时间:2017/5/30 21:19:00 -- 或者就是在代码里 直接赋值? |
-- 作者:有点色 -- 发布时间:2017/5/31 9:27:00 -- 以下是引用sexbee在2017/5/30 21:09:00的发言:
谢谢,我想了解就是 cbx.Text 中 text属性是指 其中的什么? 是“”标题“”里面的内容?
Text指的是你【标题】的值。
如果你标题不是具体的数值,你也可以把值写在名称里,如 cbx_1_109 红色的109就代表这个控件的值 |
-- 作者:sexbee -- 发布时间:2017/5/31 10:00:00 -- 谢谢 |
-- 作者:sexbee -- 发布时间:2017/6/7 13:23:00 -- Dim sum As Double = 0 For i As Integer = 1 To 3 Dim cbx As WinForm.CheckBox = e.form.controls("cbx_" & i ) If cbx.Checked Then sum += val(cbx.Text) End If Next msgbox(sum) 3个控件 cbx_1_111 cbx_2_33 cbx_3_333 \'运行报错: 找不到cbx_1控件?
|
-- 作者:有点色 -- 发布时间:2017/6/7 14:53:00 -- 命名为 cbx_111、cbx_222、cbx_333
Dim sum As Double = 0 |
-- 作者:sexbee -- 发布时间:2017/6/7 16:12:00 -- cbx_1的值123.6 cbx_2 值-1.36 cbx_3的值 0.98 如果选中,值相加,也能按上面的代码实现吗? [此贴子已经被作者于2017/6/7 16:12:52编辑过]
|
-- 作者:sexbee -- 发布时间:2017/6/7 16:26:00 -- ok可以了,是不是要在一个容器里面的才行? |