想要groupBox那样的边框效果,但是groupBox的text为空时上面有一块是空,dock属性填充时不美观,所以想用panel实现,不知如何做出类似groupBox的边框效果,如何重画?最好能提供个代码。

解决方案 »

  1.   

    假设 Panel 实例为 panel1 ,注册 Paint 事件,方法为
    private void panel1_Paint(object sender, PaintEventArgs e)
    {
        e.Graphics.DrawRectangle(Pens.Black, new Rectangle(2, 2, panel1.Width - 5, panel1.Height - 5));
    }
      

  2.   

    将panel的borderStyle属性改下就有边框了,边框是黑色的,,如果不想是黑色就照楼上的做,改下颜色
    private void panel1_Paint(object sender, PaintEventArgs e)
    {
        e.Graphics.DrawRectangle(Pens.LightGreen, new Rectangle(2, 2, panel1.Width - 5, panel1.Height - 5));
    }