以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 这样的代码能否精简 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=17923) |
-- 作者:老有所乐 -- 发布时间:2012/3/28 19:57:00 -- 这样的代码能否精简 下面的代码能否精简,因为还有好多需要写上,哪么这段代码就好长,请高手帮忙,谢谢! Dim i1 As String = e.Form.Controls("label6").text \'定义一个组合框,以供在窗口显示表用 e.Form.Controls("银行存款").Visible =False \' e.Form.Controls("债权").Visible =False \' Else If i1 = "工资卡" Then e.Form.Controls("债权").Visible =False \' e.Form.Controls("现金表").Visible =False \' Else If i1= "银行存款" Then e.Form.Controls("债权").Visible =False \' e.Form.Controls("现金表").Visible =False \' Else If i1= "债权" Then e.Form.Controls("银行存款").Visible =False \' e.Form.Controls("现金表").Visible =False \' End If |
-- 作者:mr725 -- 发布时间:2012/3/28 20:38:00 -- Dim i1 As String = e.Form.Controls("label6").text Else |
-- 作者:lxl -- 发布时间:2012/3/28 21:09:00 -- Dim i1 As String = e.Form.Controls("label6").text e.Form.Controls("现金表").Visible = (i1 = "现金表") e.Form.Controls("工资卡").Visible =(i1 = "工资卡") e.Form.Controls("银行存款").Visible =(i1 = "银行存款") e.Form.Controls("债权").Visible =(i1 = "债权") 简洁不重要,可读性才重要: 每个控件是否可见,取决于标签的值是不是和该控件名称相等
|
-- 作者:lxl -- 发布时间:2012/3/28 21:25:00 -- 如果控件比较多的话,把这些控件放在一个面板里面,假设面板是 Panel1
Dim i1 As String = e.Form.Controls("label6").text For Each ctl As System.Windows.Forms.Control In e.Form.Controls("Panel1").BaseControl.Controls ctl.Visible = (i1 = ctl.Name) Next |
-- 作者:老有所乐 -- 发布时间:2012/3/28 22:00:00 -- 谢谢mr725 和lxl版主 老师的指教! 3搂的效果最好,2搂的提示找不到"& s &" 控件, 4搂不能隐藏非选中的标签 |
-- 作者:mr725 -- 发布时间:2012/3/28 22:12:00 -- "& s &" 改为: s 不要那些符号··· |
-- 作者:老有所乐 -- 发布时间:2012/3/28 22:20:00 -- 是的,我是改为s后方可用 |
-- 作者:dark272710 -- 发布时间:2012/3/29 8:33:00 -- 原来可以这样写。。。等完工后我也要大幅简化代码了。。。 |
-- 作者:程兴刚 -- 发布时间:2012/3/29 9:28:00 -- Dim i1 As String = e.Form.Controls("label6").text e.Form.Controls(" & s & ").Visible =(i1 = s) Next |
-- 作者:老有所乐 -- 发布时间:2012/3/29 10:00:00 -- 越来越精简,谢谢! |