Foxtable(狐表)用户栏目专家坐堂 → 在窗体中用按钮控件,怎么实现流程状态显示呢?


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

主题:在窗体中用按钮控件,怎么实现流程状态显示呢?

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


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
在窗体中用按钮控件,怎么实现流程状态显示呢?  发帖心情 Post By:2020/12/10 16:10:00 [只看该作者]

在窗体中用按钮控件,怎么实现流程状态显示呢?
想实现当党员信息表中  递交申请书时间  不为空  且标志列为true时
接收入党申请书  按钮显示进度2图片    
反之  标志列为false时  接收入党申请书  按钮显示进度1图片    


全局代码事件如下:
Public zhuangtai1 As Image = GetImage("进度1.png")
Public zhuangtai2 As Image = GetImage("进度2.png")

窗体加载事件代码如下:
Dim lb As WinForm.Label = e.Form.Controls("Label1")
lb.Text=vars("姓名")
Dim lvw As WinForm.ListView = Forms("党建工作").Controls("ListView1")
Dim vr As WinForm.ListViewRow = lvw.Current '获取ListView的当前行
If vr IsNot Nothing Then '如果不存在当前行,也就是内有选定任何一行
    Dim ab As DataRow
    ab=Tables("党员信息").DataTable.Find("姓名='" & vars("姓名") & "'")
    If ab IsNot Nothing Then
        If ab("递交申请书时间") IsNot Nothing And ab("标志")=True Then
            e.Form.Controls("接收入党申请书").Visible = True
            e.form.Controls("接收入党申请书").basecontrol.BringToFront
            e.Form.Controls("审看入党申请书").Visible = False
        End If
        If ab("递交申请书时间") Is Nothing And ab("标志")=False Then
            e.Form.Controls("接收入党申请书").Visible = False
            e.Form.Controls("审看入党申请书").Visible = False
        End If
    End If
End If


窗体中用按钮控件做成了如下效果图:

图片点击可在新窗口打开查看此主题相关图片如下:捕获.png
图片点击可在新窗口打开查看

[此贴子已经被作者于2020/12/10 16:12:29编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110581 积分:562801 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/12/10 16:49:00 [只看该作者]

http://www.foxtable.com/webhelp/topics/0772.htm

    If ab IsNot Nothing Then
        If ab("递交申请书时间") IsNot Nothing And ab("标志")=True Then
            e.Form.Controls("接收入党申请书").Visible = True
            e.form.Controls("接收入党申请书").basecontrol.BringToFront
e.form.Controls("接收入党申请书").Image = zhuangtai1
            e.Form.Controls("审看入党申请书").Visible = False
        End If
        If ab("递交申请书时间") Is Nothing And ab("标志")=False Then
            e.Form.Controls("接收入党申请书").Visible = False
e.form.Controls("接收入党申请书").Image = zhuangtai2
            e.Form.Controls("审看入党申请书").Visible = False
        End If
    End If


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


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(有点蓝)http://www.foxtable.com/webhelp/to...  发帖心情 Post By:2020/12/10 17:24:00 [只看该作者]

有点蓝老师  

下述代码可以实现遍历当前窗体中所有按钮控件,并返回控件数量
Dim ls As new List(of String)

For Each c As object In e.form.controls    
    If typeof c Is winform.button Then        
        ls.add(c.name)        
    End If   
Next

MessageBox.Show(ls.Count)

一楼图片流程按钮节点太多  累计达五十个  一个个的按二楼代码进行添加的话  太繁琐   
有没有更高效的办法实现如下效果呢?

所有按钮控件在默认的时候都是进度1图片
当第一阶段节点都走完的时候,对应的第一阶段的按钮全部批量显示图片进度1   其他的节点依旧显示图片进度2


e.form.Controls("接收入党申请书").Image = zhuangtai1   这个地方有没有办法实现批量多个按钮控件一起赋值图片呢?

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110581 积分:562801 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/12/10 20:14:00 [只看该作者]

dim sre() as string = {"按钮1","按钮1"}
for each s as string in sre 
e.form.Controls(s).Image = zhuangtai1
next

 回到顶部