C#怎样把下列的代码,修改为本窗体的边框?????

privatevoidForm1_Paint_1(objectsender,PaintEventArgse){DrawRoundRectangle(panel1.Crea... private void Form1_Paint_1(object sender, PaintEventArgs e)
{
DrawRoundRectangle(panel1.CreateGraphics(), new Rectangle(120, 10, 100, 80), ColorTranslator.FromHtml("#FF66FF"), 4F, 20);
}
public static void DrawRoundRectangle(Graphics g, Rectangle rectangle, Color borderColor, float borderWidth, int r)
{

g.SmoothingMode = SmoothingMode.HighQuality;
// 由于边框也需要一定宽度,需要对矩形进行修正
rectangle = new Rectangle(rectangle.X, rectangle.Y, rectangle.Width - 1, rectangle.Height - 1);
Pen p = new Pen(borderColor, borderWidth);
//// 调用 getRoundRectangle 得到圆角矩形的路径,然后再进行绘制
g.DrawPath(p, getRoundRectangle(rectangle, r));
}

private static GraphicsPath getRoundRectangle(Rectangle rectangle, int r)
{
int l = 2 * r;
// 把圆角矩形分成八段直线、弧的组合,依次加到路径中
GraphicsPath gp = new GraphicsPath();
gp.AddLine(new Point(rectangle.X + r, rectangle.Y), new Point(rectangle.Right - r, rectangle.Y));
gp.AddArc(new Rectangle(rectangle.Right - l, rectangle.Y, l, l), 270F, 90F);
gp.AddLine(new Point(rectangle.Right, rectangle.Y + r), new Point(rectangle.Right, rectangle.Bottom - r));
gp.AddArc(new Rectangle(rectangle.Right - l, rectangle.Bottom - l, l, l), 0F, 90F);
gp.AddLine(new Point(rectangle.Right - r, rectangle.Bottom), new Point(rectangle.X + r, rectangle.Bottom));
gp.AddArc(new Rectangle(rectangle.X, rectangle.Bottom - l, l, l), 90F, 90F);
gp.AddLine(new Point(rectangle.X, rectangle.Bottom - r), new Point(rectangle.X, rectangle.Y + r));
gp.AddArc(new Rectangle(rectangle.X, rectangle.Y, l, l), 180F, 90F);
return gp;
}
展开
 我来答
百度网友多啦N梦
2012-11-20 · 超过43用户采纳过TA的回答
知道小有建树答主
回答量:91
采纳率:0%
帮助的人:68.1万
展开全部

如图所示,在你的Form1的属性页,点击闪电按钮之后,滚动到最底部,双击Paint,就有这个事件了,再把你的代码覆盖一次,然后再来点击下拉框选折函数

追问
我是想把代码改为本窗体的边框代码。想在的代码效果是在panel控件中画了一个圆角长方形,我想把画出来的圆角长方形为Form1的边框
追答

你是要这种吗?

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式