Foxtable(狐表)用户栏目专家坐堂 → [求助]遍历控件背景颜色的一个问题


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

主题:[求助]遍历控件背景颜色的一个问题

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


加好友 发短信
等级:超级版主 帖子:107739 积分:548028 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/7 9:44:00 [显示全部帖子]

If e.Sender.Name.StartsWith("组织")   Then
    
    If e.Sender.BackColor=Color.White   Then
        e.Sender.BackColor=Color.Black
    Else
        e.Sender.BackColor=Color.White
    End If
    
    Dim s As String
    For Each c As Winform.Control In e.Form.Controls
        If c.Name.StartsWith("组织") AndAlso c.BackColor <> Color.White   Then
            Dim clr As Color = c.BackColor
            Dim c1 As String = "#" & Format(clr.R,"X2") & Format(clr.G,"X2") & Format(clr.B,"X2")
            Dim c2 As String =c.Name.SubString(2,5)
            Dim c3 As String =c2 & "|" & c1
            s=s & c3
            
        End If
    Next
    s = s.trim("|")
    MessageBox.Show(s)
    Tables("表A").Current("组织图") = s
End If

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


加好友 发短信
等级:超级版主 帖子:107739 积分:548028 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/7 13:36:00 [显示全部帖子]

2楼代码改一下
    For Each c As Winform.Control In e.Form.Controls
        If c.Name.StartsWith("组织") AndAlso c.BackColor <> Color.White   Then
            Dim clr As Color = c.BackColor
            Dim c1 As String = "#" & Format(clr.R,"X2") & Format(clr.G,"X2") & Format(clr.B,"X2")
            Dim c2 As String =c.Name.SubString(2,5)
            Dim c3 As String =c2 & "," & c1
            s=s & "|" & c3
            
        End If
    Next

窗口afterload

Dim s As String = Tables("表A").Current("组织图")

For Each s1 As String  In s.Split("|")
    Dim ar() As String = s1.Split(",")
    e.Form.controls("组织" & ar(0)).BackColor = System.Drawing.ColorTranslator.FromHtml(ar(1))
Next

 回到顶部