Foxtable(狐表)用户栏目专家坐堂 → [求助]checkbox返回值问题


  共有3748人关注过本帖树形打印复制链接

主题:[求助]checkbox返回值问题

帅哥哟,离线,有人找我吗?
sexbee
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:125 积分:797 威望:0 精华:0 注册:2017/5/26 11:11:00
[求助]checkbox返回值问题  发帖心情 Post By:2017/5/28 21:08:00 [只看该作者]

一个窗口多个checkbox,每个代表不同数值,每次勾选其中若干个,则返回相加值,如何实现?

 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By: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
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:125 积分:797 威望:0 精华:0 注册:2017/5/26 11:11:00
  发帖心情 Post By:2017/5/30 21:09:00 [只看该作者]

谢谢,我想了解就是 cbx.Text 中 text属性是指 其中的什么? 是“”标题“”里面的内容?

 回到顶部
帅哥哟,离线,有人找我吗?
sexbee
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:125 积分:797 威望:0 精华:0 注册:2017/5/26 11:11:00
  发帖心情 Post By:2017/5/30 21:19:00 [只看该作者]

或者就是在代码里 直接赋值?

 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/5/31 9:27:00 [只看该作者]

以下是引用sexbee在2017/5/30 21:09:00的发言:
谢谢,我想了解就是 cbx.Text 中 text属性是指 其中的什么? 是“”标题“”里面的内容?

 

Text指的是你【标题】的值。

 

如果你标题不是具体的数值,你也可以把值写在名称里,如 cbx_1_109 红色的109就代表这个控件的值


 回到顶部
帅哥哟,离线,有人找我吗?
sexbee
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:125 积分:797 威望:0 精华:0 注册:2017/5/26 11:11:00
  发帖心情 Post By:2017/5/31 10:00:00 [只看该作者]

谢谢

 回到顶部
帅哥哟,离线,有人找我吗?
sexbee
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:125 积分:797 威望:0 精华:0 注册:2017/5/26 11:11:00
  发帖心情 Post By: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控件?

 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/6/7 14:53:00 [只看该作者]

命名为 cbx_111、cbx_222、cbx_333

 

Dim sum As Double = 0
For Each c As object In e.Form.controls
    If c.name Like "cbx_*" Then
        Dim cbx As WinForm.CheckBox = c
        If cbx.Checked Then
            sum += val(cbx.name.split("_")(1))
        End If
    End If
Next
msgbox(sum)


 回到顶部
帅哥哟,离线,有人找我吗?
sexbee
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:125 积分:797 威望:0 精华:0 注册:2017/5/26 11:11:00
  发帖心情 Post By: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
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:125 积分:797 威望:0 精华:0 注册:2017/5/26 11:11:00
  发帖心情 Post By:2017/6/7 16:26:00 [只看该作者]

ok可以了,是不是要在一个容器里面的才行?

 回到顶部
总数 23 1 2 3 下一页