Foxtable(狐表)用户栏目专家坐堂 → [求助]Panel 边框颜色


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

主题:[求助]Panel 边框颜色

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


加好友 发短信
等级:七尾狐 帖子:1765 积分:16651 威望:0 精华:0 注册:2017/6/1 23:12:00
  发帖心情 Post By:2023/10/9 9:59:00 [显示全部帖子]

 
图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看
放全局变量里,报错

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


加好友 发短信
等级:七尾狐 帖子:1765 积分:16651 威望:0 精华:0 注册:2017/6/1 23:12:00
  发帖心情 Post By:2023/10/9 10:58:00 [显示全部帖子]

     AddHandler p.paint, AddressOf panel_paint
    p.refresh

能把边框加粗吗?


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


加好友 发短信
等级:七尾狐 帖子:1765 积分:16651 威望:0 精华:0 注册:2017/6/1 23:12:00
  发帖心情 Post By:2023/10/9 13:54:00 [显示全部帖子]

 对小白来说,看这个难点大呀

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


加好友 发短信
等级:七尾狐 帖子:1765 积分:16651 威望:0 精华:0 注册:2017/6/1 23:12:00
  发帖心情 Post By:2023/10/9 18:45:00 [显示全部帖子]

Public Sub panel_Paint(sender As Object, e As system.windows.forms.PaintEventArgs) '给panel加边框颜色
    system.windows.forms.ControlPaint.DrawBorder(e.Graphics, sender.ClientRectangle, Color.blue, 20, system.windows.forms.ButtonBorderStyle.Solid, Color.blue, _
    20, system.windows.forms.ButtonBorderStyle.Solid, Color.blue, 20, system.windows.forms.ButtonBorderStyle.Solid, Color.blue, _
    20, system.windows.forms.ButtonBorderStyle.Solid)
End Sub

    If TypeOf e.sender Is WinForm.PictureBox Then
        Dim p As system.windows.forms.panel = Forms("菜单").Controls(controlname).basecontrol
        AddHandler p.paint, AddressOf panel_paint
        p.refresh
    End If
老师,我是这样写的,没有效果啊

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


加好友 发短信
等级:七尾狐 帖子:1765 积分:16651 威望:0 精华:0 注册:2017/6/1 23:12:00
  发帖心情 Post By:2023/10/9 21:39:00 [显示全部帖子]

有啥办法能看到呢?

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


加好友 发短信
等级:七尾狐 帖子:1765 积分:16651 威望:0 精华:0 注册:2017/6/1 23:12:00
  发帖心情 Post By:2023/10/9 22:18:00 [显示全部帖子]

有办法加大边框吗?

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


加好友 发短信
等级:七尾狐 帖子:1765 积分:16651 威望:0 精华:0 注册:2017/6/1 23:12:00
  发帖心情 Post By:2023/10/10 8:11:00 [显示全部帖子]

    Dim controlname As String
    If TypeOf e.sender Is WinForm.Panel Then
        controlname = e.sender.name
    ElseIf e.sender.parent IsNot Nothing Then
        If TypeOf e.sender.Parent Is WinForm.Panel Then
            controlname = e.sender.parent.name
        End If
    End If
    Vars("序号") = controlname
    Dim l As Integer = Tables("桌台信息").Rows.Count
    For i As Integer = 0 To l - 1
        Dim r As Row = Tables("桌台信息").Rows(i)
        Forms("菜单").Controls(r("序号")).BorderStyle = BorderStyle.None
        Forms("菜单").Controls(r("序号")).BackColor = Color.Lightgray 
    Next
    
    
    If TypeOf e.sender Is WinForm.PictureBox Then
        Dim tt As system.windows.forms.panel = Forms("菜单").Controls(controlname).basecontrol
        AddHandler tt.paint, AddressOf panel_paint
        tt.refresh
    End If

把panel设置大一点了,但以前选过的边柜不消失
        Forms("菜单").Controls(r("序号")).BorderStyle = BorderStyle.None
        Forms("菜单").Controls(r("序号")).BackColor = Color.Lightgray 这个语句不管用吗?

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


加好友 发短信
等级:七尾狐 帖子:1765 积分:16651 威望:0 精华:0 注册:2017/6/1 23:12:00
  发帖心情 Post By:2023/10/10 10:26:00 [显示全部帖子]

     Dim controlname As String
    If TypeOf e.sender Is WinForm.Panel Then
        controlname = e.sender.name
    ElseIf e.sender.parent IsNot Nothing Then
        If TypeOf e.sender.Parent Is WinForm.Panel Then
            controlname = e.sender.parent.name
        End If
    End If
   
    '    If Tables("main").Current("所选桌台") > "" Then
    Dim hf As system.windows.forms.panel = Forms("菜单").Controls(Tables("main").Current("所选桌台")).basecontrol
    RemoveHandler hf.paint, AddressOf panel_paint
    '    End If
   
    Vars("序号") = controlname
    Dim l As Integer = Tables("桌台信息").Rows.Count
    For i As Integer = 0 To l - 1
        Dim r As Row = Tables("桌台信息").Rows(i)
        Forms("菜单").Controls(r("序号")).BorderStyle = BorderStyle.None
        Forms("菜单").Controls(r("序号")).BackColor = Color.Lightgray
    Next
   
    If TypeOf e.sender Is WinForm.PictureBox Then
        Dim tt As system.windows.forms.panel = Forms("菜单").Controls(controlname).basecontrol
        AddHandler tt.paint, AddressOf panel_paint
        tt.refresh
    End If
    If TypeOf e.sender Is WinForm.PictureBox Then
        e.Form.Controls("TextBox1").Text = Vars("序号")
        Dim zt As DataRow = DataTables("桌台信息").SQLFind("序号='" & Vars("序号") & "'")
        e.Form.Controls("xz").Text = zt("桌台号") & zt("图标类型")
        Tables("main").Current("所选桌台") = controlname
        Tables("main").save
    End If

我是这样写的,不好用,老师


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


加好友 发短信
等级:七尾狐 帖子:1765 积分:16651 威望:0 精华:0 注册:2017/6/1 23:12:00
  发帖心情 Post By:2023/10/10 10:33:00 [显示全部帖子]

 我用Tables("main").Current("所选桌台") 这个字段记录,之前点的是哪个panel

 回到顶部