Foxtable(狐表)用户栏目专家坐堂 → Panel控件有什么特殊的地方吗?


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

主题:Panel控件有什么特殊的地方吗?

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


加好友 发短信
等级:四尾狐 帖子:860 积分:10801 威望:0 精华:0 注册:2016/5/6 14:34:00
Panel控件有什么特殊的地方吗?  发帖心情 Post By:2017/5/23 17:21:00 [显示全部帖子]

我在程序中想给Panel边框重绘一下颜色,用自己的处理函数绑定了Panel控件的Paint事件。如下:
 Public Shared Sub OwnDrawBorder(ByRef panel As WinForm.Panel)
        Dim panelBase As Panel = panel.BaseControl
        AddHandler panelBase.Paint, AddressOf Panel_DrawBorder
 End Sub

 Public Sub Panel_DrawBorder(sender As Object, e As PaintEventArgs)
        Dim panel As Panel = CType(sender, Panel)
        Const width As Integer = 1
        ControlPaint.DrawBorder(
                                e.Graphics, panel.ClientRectangle,
                               Color.FromArgb(111, 157, 217), width, ButtonBorderStyle.Solid,
                               Color.FromArgb(111, 157, 217), width, ButtonBorderStyle.Solid,
                               Color.FromArgb(111, 157, 217), width, ButtonBorderStyle.Solid,
                               Color.FromArgb(111, 157, 217), width, ButtonBorderStyle.Solid
                            )
    End Sub

但是跟踪了一下代码,貌似Panel控件的Paint事件并没有被触发。
难道狐表中的Panel控件基类不是标准的Panel控件吗?

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


加好友 发短信
等级:四尾狐 帖子:860 积分:10801 威望:0 精华:0 注册:2016/5/6 14:34:00
  发帖心情 Post By:2017/5/23 18:04:00 [显示全部帖子]

以下是引用有点色在2017/5/23 17:56:00的发言:

 你需要刷新控件

 

Dim p = Forms("窗口1").controls("panel1").basecontrol
p.refresh

试过了,refresh也没用


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


加好友 发短信
等级:四尾狐 帖子:860 积分:10801 威望:0 精华:0 注册:2016/5/6 14:34:00
  发帖心情 Post By:2017/5/23 19:14:00 [显示全部帖子]

找到原因了,在这个Panel放了个Table控件,且是Fill的
结果就...

 回到顶部