Después de de una larga selección de información pudimos resolver esta traba que tienen ciertos usuarios. Te ofrecemos la respuesta y nuestro objetivo es servirte de gran ayuda.
Solución:
colocando 1 cuadro de imagen en el formulario y escribiendo este código, también puede cambiar el número menos al lado de Ancho y Alto para obtener el mejor resultado
System.Drawing.Drawing2D.GraphicsPath gp = new System.Drawing.Drawing2D.GraphicsPath();
gp.AddEllipse(0, 0, pictureBox1.Width - 3, pictureBox1.Height - 3);
Region rg = new Region(gp);
pictureBox1.Region = rg;
Sí, no hay problema, puede darle a un control una forma arbitraria con su propiedad Región. Agregue una nueva clase a su proyecto y pegue el código que se muestra a continuación. Compilar. Coloque el nuevo control desde la parte superior de la caja de herramientas en su formulario.
using System;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Windows.Forms;
class OvalPictureBox : PictureBox
public OvalPictureBox()
this.BackColor = Color.DarkGray;
protected override void OnResize(EventArgs e)
base.OnResize(e);
using (var gp = new GraphicsPath())
gp.AddEllipse(new Rectangle(0, 0, this.Width-1, this.Height-1));
this.Region = new Region(gp);
Ronda bordes como en redondo esquinas?
Si es así, consulte http://social.msdn.microsoft.com/forums/en-US/winforms/thread/603084bb-1aae-45d1-84ae-8544386d58fd
Rectangle r = new Rectangle(0, 0, pictureBox1.Width, pictureBox1.Height);
System.Drawing.Drawing2D.GraphicsPath gp = new System.Drawing.Drawing2D.GraphicsPath();
int d = 50;
gp.AddArc(r.X, r.Y, d, d, 180, 90);
gp.AddArc(r.X + r.Width - d, r.Y, d, d, 270, 90);
gp.AddArc(r.X + r.Width - d, r.Y + r.Height - d, d, d, 0, 90);
gp.AddArc(r.X, r.Y + r.Height - d, d, d, 90, 90);
pictureBox1.Region = new Region(gp);
Tienes la opción de apoyar nuestro cometido poniendo un comentario o dejando una puntuación te lo agradecemos.