نمایش نتایج 1 تا 2 از 2

نام تاپیک: تغییر فرم به هر شکلی که بخواهید

  1. #1

    تغییر فرم به هر شکلی که بخواهید

    تا حالا از این فرم ها تو برنامه های مختلف دیدید ،فرم هایی که به شکل دایره ،بیضی، ستاره و ...
    راه اول :
    یک عکس رو در خاصیت BackGroundImage فرم قرار بدید در این حالت تمام نقاطی که می خواهید به محو شود باید یک رنگ مشخص و کاملا یک دست داشته باشند(مثلا سیاه) ، خب حالا خاصیت TranceparencyKey فرم را به همان رنگ مورد نظر(سیاه) قرار دهید .
    می بینید که یه سری از نقطه ها ناخواسته به وجود میاد پس به روش دوم گوش کنید...
    واما راه دوم:
    در این روش باید رویداد OnPaint فرمتون رو دوباره بنویسید (override کنید).
    پس بعد از constractor کلاس فرمتون بنویسید:

    protected override void OnPaint(PaintEventArgs e)
    {
    GraphicsPath gp = new GraphicsPath();
    Graphics gr = this.CreateGraphics();
    Region r;
    PointF[] p = new PointF[11];


    p[0] = new PointF(160, 0);
    p[1] = new PointF(120, 60);
    p[2] = new PointF(0 , 60);
    p[3] = new PointF(90, 110);
    p[4] = new PointF(0 , 240);
    p[5] = new PointF(160,150);
    p[6] = new PointF(300, 240);
    p[7] = new PointF(240, 110);
    p[8] = new PointF(320, 60);
    p[9] = new PointF(200, 60);
    p[10] = new PointF(160, 0);

    gp.AddPolygon(p);


    r = new Region(gp);
    Region r2 = new Region();
    this.Region = r;

    gr = this.CreateGraphics();

    gr.Dispose();
    gp.Dispose();
    r.Dispose();
    }

    از این NameSpace استفاده کنید:
    using System.Drawing.Drawing2D;
    این کد برای درست کردن ستاره هست و برای اشکال دیگر باید آرایه P را تغییر داده و شکلتون رو در بیارید و ...
    خاصیت FormBorderStyle فرم رو هم به None تغییر بدید .
    راستی یه دکمه برای خروج از برنامه هم بذارید.

  2. #2
    کاربر دائمی آواتار hamid.shekasteh
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    شیراز
    پست
    192

    نقل قول: تغییر فرم به هر شکلی که بخواهید

    ببخشید منبعتون چیه؟
    باتشکر.

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •