 <p>You can use <code>Control.Region</code> for this purpose</p> <pre><code>GraphicsPath path = new GraphicsPath(); path.AddEllipse(control.ClientRectangle); control.Region = new Region(path); </code></pre> <p>try this, you can create any shape using <code>GraphicsPath</code> and set it to <code>Region</code> for instance I created ellipse.</p> <p><strong>Edit</strong></p> <p>If you just want to set BackColor = Color.Transparent. for some reason some controls doesn't allow this. in such cases you can do the following </p> <pre><code>public class CustomControl1 : Control { public CustomControl1() { this.SetStyle(ControlStyles.SupportsTransparentBackColor, true); } } </code></pre> <p>Create a descendant of your control and set <code>this.SetStyle(ControlStyles.SupportsTransparentBackColor, true);</code> that should do the trick</p>