PDA

View Full Version : سوال: ساخت label به شکل دایره



ashton
پنج شنبه 28 اردیبهشت 1391, 14:05 عصر
با سلام
چطور میشه در سی شارپ label به شکل دایره ساخت

با تشکر امید امینی آذر
omidaminiazar@yahoo.com

فرید نجفلو
پنج شنبه 28 اردیبهشت 1391, 18:55 عصر
سلام
دوست عزیز از کلاس زیر استفاده کنید
شاید کامل نباشه ولی ایده کار رو می تونه بهتون بده
این کلاس رو به پروژه اضافه کنید ، پروژه رو یه بار کامپایل و این رو از Toollbox به فرم اضافه کنید
فقط BackColor رو عوض کنید و Autosize رو False کنید تا نتیجه رو ببینید
using System;
using System.Windows.Forms;
using System.Drawing;
using System.Drawing.Drawing2D;
public class RoundLable: Label
{
private Boolean _regionSet = false;
protected override void OnPaint( System.Windows.Forms.PaintEventArgs e )
{
GraphicsPath gp = new GraphicsPath();
gp.AddEllipse(this.ClientRectangle);
if (! _regionSet )
{
this.Region = new Region(gp);
_regionSet = true;
}
SolidBrush br = new SolidBrush(this.BackColor);
e.Graphics.FillPath(br, gp);
gp.Dispose();
base.OnPaint(e);
}
}