PDA

View Full Version : دایره کردن فورم



ramin149
جمعه 31 اردیبهشت 1389, 11:53 صبح
من می خوام یه کاری کنم که فورمم مربع و مستطیل نمایش داده نشه و به صورت دایره و بیضی نمایش داده شود اگر کسی می تونه کمک کنه ؟؟؟

s.khoshfekran
جمعه 31 اردیبهشت 1389, 11:58 صبح
http://www.barnamenevis.org/forum/showthread.php?t=217552
موفق باشی !!

ramin149
جمعه 31 اردیبهشت 1389, 12:30 عصر
این صفحه به درد من نخورد اینا فورم های مربع رو فقط کنارشون رو بیضی می کنند و من می خوام فورمم به صورت دایره نمایش داده شود

s.khoshfekran
جمعه 31 اردیبهشت 1389, 12:47 عصر
اگه حتی یکم کدهای مثال هایی که گذاشتم رو نگاه می کردی اینجوری نمی گفتی!!!

s.khoshfekran
جمعه 31 اردیبهشت 1389, 13:14 عصر
System.Drawing.Drawing2D.GraphicsPath path = new System.Drawing.Drawing2D.GraphicsPath();
path.AddEllipse(0, 0, 300, 300);
f.Region = new Region(path);
f.Show()

ramin149
جمعه 31 اردیبهشت 1389, 13:30 عصر
System.Drawing.Drawing2D.GraphicsPath path = new System.Drawing.Drawing2D.GraphicsPath();
path.AddEllipse(0, 0, 300, 300);
f.Region = new Region(path);
f.Show()


روی F که قرمز گردم error می ده

behrouz_n
جمعه 31 اردیبهشت 1389, 13:36 عصر
روش دیگری هم هست که میتونی فرمت را به هر شکلی که خواستی در بیاری.
اول باید شکل فرم را توی یک برنامه گرافیکی مثل فتوشاپ طراحی کنی و قسمتهایی که نمیخواهی را باید transparent کنی (منظورم اینکه شفاف باشه) و بعد با فرمت png ذخیره کنی.
سپس اون عکس رو به عنوان background فرمت قرار بدی.
در مرحله بعد رنگ پس زمینه فرمت را به یک رنگ جیغ مثل قرمز تغییر بدی.
در آخر خاصیت transpart فرمت رو برابر همون رنگ پس زمینه فرمت قرار بدی(همون رنگ قرمز).

s.khoshfekran
جمعه 31 اردیبهشت 1389, 13:37 عصر
بخدا یکم فکر کردن چیزه خیلی خوبیه!!

Form1 f = new Form1()

s.khoshfekran
جمعه 31 اردیبهشت 1389, 13:39 عصر
دوست عزیز behrouz_n (http://www.barnamenevis.org/forum/member.php?u=16676) این راحی که شما گفتی بیشتر به درده Splash From میخوره!!

ramin149
جمعه 31 اردیبهشت 1389, 13:43 عصر
ببخشید که اینقدر عزیتتون گردم من تازه کارم من کد زیر رو نوشتم
System.Drawing.Drawing2D.GraphicsPath path = new System.Drawing.Drawing2D.GraphicsPath();
path.AddEllipse(0, 0, 300, 300);
Form1 f = new Form1(path);
f.Show();
ولی خط قرمز رو error می ده یه سوال دیگه باید داخل رویداد paint فورم کد ها رو بنویسم .

s.khoshfekran
جمعه 31 اردیبهشت 1389, 13:47 عصر
اینی که شما نوشتی میگی Error میده بنظرت شبیه چیزیه که من نوشتم برات ؟


Form1 f = new Form1();
System.Drawing.Drawing2D.GraphicsPath path = new System.Drawing.Drawing2D.GraphicsPath();
path.AddEllipse(0, 0, 300, 300);
f.Region = new Region(path);
f.Show();

ramin149
جمعه 31 اردیبهشت 1389, 14:00 عصر
مشکل حل شد خیلی ممنون که کمک گردید .

Form1 f = new Form1();
System.Drawing.Drawing2D.GraphicsPath path = new System.Drawing.Drawing2D.GraphicsPath();
path.AddEllipse(0, 0, 500, 500);
Region r = new Region(path);
this.Region = r;