在panel控件的paint事件中进行边框颜色和宽度重绘时,假如窗体变化了,右侧的边框会出现很多,怎么解决

.Net技术 码拜 8年前 (2016-02-23) 1139次浏览
在panel控件的paint事件中进行边框颜色和宽度重绘时,panel的Anchor属性设置为:top,left,right,假如窗体变化了,右侧的边框会出现很多个,怎么解决?

private void panel10_Paint(object sender, PaintEventArgs e)
        {
           
            ControlPaint.DrawBorder(e.Graphics, panel10.ClientRectangle, Color.Blue, 1, ButtonBorderStyle.Solid, Color.Blue,
                              1, ButtonBorderStyle.Solid, Color.Blue, 1, ButtonBorderStyle.Solid, Color.Blue, 1, ButtonBorderStyle.Solid);
        }

图片如下:
在panel控件的paint事件中进行边框颜色和宽度重绘时,假如窗体变化了,右侧的边框会出现很多,怎么解决

解决方案

20

ControlPaint.DrawBorder这个方法不会擦除之前绘制的
你最好直接用e.graphic.drawline去绘制

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明在panel控件的paint事件中进行边框颜色和宽度重绘时,假如窗体变化了,右侧的边框会出现很多,怎么解决
喜欢 (0)
[1034331897@qq.com]
分享 (0)