RT
谢谢大家

解决方案 »

  1.   

    用gdi+对图形进行裁减保存。
    还有种方法在4个角画上圆弧
      

  2.   

    void DrawRoundRect(int radii,Rectangle Rect,Graphics g)
    {
    Pen pen=new Pen(this.ForeColor,2);
    g.DrawLine(pen,Rect.Left+radii,Rect.Top,Rect.Right-radii,Rect.Top);
    g.DrawLine(pen,Rect.Left+radii,Rect.Bottom,Rect.Right-radii,Rect.Bottom);
    g.DrawLine(pen,Rect.Left,Rect.Top+radii,Rect.Left,Rect.Bottom-radii);
    g.DrawLine(pen,Rect.Right,Rect.Top+radii,Rect.Right,Rect.Bottom-radii);g.DrawArc(pen,new Rectangle(Rect.Left,Rect.Top,radii*2,radii*2),180,90);
    g.DrawArc(pen,new Rectangle(Rect.Left,Rect.Bottom-radii*2,radii*2,radii*2),90,90);
    g.DrawArc(pen,new Rectangle(Rect.Right-radii*2,Rect.Top,radii*2,radii*2),-90,90);
    g.DrawArc(pen,new Rectangle(Rect.Right-radii*2,Rect.Bottom-radii*2,radii*2,radii*2),0,90);}private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
    {
    DrawRoundRect(15,new Rectangle(10,10,150,150),e.Graphics);
    }