PDA

View Full Version : آموزش: آموزش ایجادفرم وکنترلهای دایره یا هر شکل دلخواه



aaaaammmm
شنبه 13 شهریور 1389, 19:09 عصر
فرم وکنترلهای و مثلثی و دایره ای در C#
در سی شارپ امکان داشتن فرم و کنترل با هر شکل دلخواهی ممکنه.حتی به شکل یک هشت پا،حروف انگلیسی و ...
برای اینکار باید خاصیت region فرم یا کنترلهای دیگر را به دلخواه تغییر بدهیم.
ابتدا کد زیر را در کلاس اصلی برنامه وارد کنید.
GraphicsPath mypath1 = new GraphicsPath();
فرم با شکل دایره ای
کد زیر فرم را به شکل دایره با شعاع 420 تبدیل می کند.

private void Form1_Load(object sender, EventArgs e)
{
mypath1.AddEllipse(45, 5, 420, 420);
Region MyFormRegion = new Region(mypath1);
this.Region = MyFormRegion;
}
فرم با شکل G
کد زیر فرم را به شکل G تبدیل می کند.

private void Form1_Load(object sender, EventArgs e)
{
PointF pf1 = new PointF(0,0);
FontFamily ff = new FontFamily("B Baran");
mypath1.AddString("G", ff, 0, 400, pf1, StringFormat.GenericDefault);
Region MyFormRegion = new Region(mypath1);
this.Region = MyFormRegion;
}
حتی می تونید یک فرم باشکل عجیب غریب داشته باشید .فقط کافیه کدهای فوق را باهم ترکیب کنید.
کد زیر را امتحان کنید!
private void Form1_Load(object sender, EventArgs e)
{
PointF pf = new PointF(-15, -20);
PointF pf1 = new PointF(250, -20);
PointF pf0 = new PointF(120, 340);
FontFamily ff = new FontFamily("B Baran");
mypath1.AddString("*", ff, 0, 250, pf, StringFormat.GenericDefault);
mypath1.AddString("*", ff, 0, 250, pf1, StringFormat.GenericDefault);
mypath1.AddEllipse(45, 5, 400, 420);

Region MyFormRegion = new Region(mypath1);
this.Region = MyFormRegion;

}


باتن ولیبل وتکس باکس وکلاً هر چی کنترل داشته باشید می تونید به اون یک شکل دلخواه نسبت بدهید به شرطی که خاصیت رجین داشته باشه.
یادتون نره .Region
باتن مثلثی(سایز باتن رو173*100 باشه)

private void Form1_Load(object sender, EventArgs e)
{
Point[] pf2 = new Point[3];
pf2[0] = new Point(10, 70);
pf2[1] = new Point(150, 70);
pf2[2] = new Point(80, -10);
mypath2.AddPolygon(pf2);
button1.Region = new Region(mypath2);
}
کد باتن بیضوی
mypath2.AddEllipse(45, 5, 50, 70);

کافی است خاصیت رجین کنترلها را دستکاری کنید
Region

aaaaammmm
یک شنبه 14 شهریور 1389, 20:22 عصر
کد زیر مربوط به باتن می باشد که در ابتدای کلاس برنامه اضافه می شود.

;()GraphicsPath mypath2 = new GraphicsPath

javadkohyan
دوشنبه 07 شهریور 1390, 19:01 عصر
نمیشه هر چه درست می کنم نمی شه