ایجاد فرم سفارشی

برای این کار مناسب با کاری که می خوایم انجام بدیم (مثلا یه پروژه کتابخونه می خوایم درست کنیم  یا هر چیز دیگه ، باید یه عکس متناسب انتخاب کنیم  و سعی کنید که فرمت عکس png باشد ). حالا یه پروژه جدید درست می کنیم :
Create-custom-form-in-c# (1)

چند کار که روی Form  خود باید انجام بدیم :

  • اول اینکه خاصیت FormBorderStyle رو ، روی حالت None قرار بدیم
  • دوم اینکه از قسمت Back Color و TarnsparencyKey یک رنگ مشابه با هم انتخاب می کنیم .
  • و در آخر عکس خودمون رو از قسمت BackgroundImage به روی فرم Import میکنیم .

خب این فرم من هستش :
Create-custom-form-in-c# (2)

برنامه رو که Debug  کنم قابلیت جابجایی فرم من نداره ما با این کد میتونیم قابلیت جابجایی رو فرم خودمون اضافه کنیم :

protected override void WndProc(ref Message m)
{
    switch (m.Msg)
    {
        case 0x84:
            base.WndProc(ref m);
            if ((int)m.Result == 0x1)
                m.Result = (IntPtr)0x2;
            return;
    }
    base.WndProc(ref m);
}

این کد مثل یک تابع یا یک کلاس در خارج بلوک و به صورت مستقل تعریف میشه . حالا برنامه ما قابلیت جابجایی داره . اما برنامه ما نه Close , Minimize , Maximize  داره . سه دکمه به برنامه اضافه میکنیم  ، سه تصویر هم متناسب با بستن ، بزرگنمایی و کوچک کردن به Button  ها اضافه میکنیم . تصاویر رو از طریق BackgroundImage به Button  ، Import  میکنیم و خاصیت BackgroundImageLayout انرا روی حالت Zoom  قرار میدهیم. فرم من تا اینجای آموزش به این شکل هستش:

Create-custom-form-in-c# (3)

وقتی برنامه اجرا بشه :
Create-custom-form-in-c# (4)

خب و مرحله پایانی کار که سه کد مربوط به دکمه ها رو بهشون اضافه میکنیم .

کد مربوط به بستن :

this.Close();
//یا
Application.Exit();

کد مربوط به کوچک کردن :

this.WindowState = FormWindowState.Minimized;

کد مربوط به بزرگ کردن :

this.BackgroundImage = Image.FromFile("نام تصویر انتخابیتون");
this.Width = Image.FromFile("نام تصویر انتخابیتون").Width;
this.Height = Image.FromFile("نام تصویر انتخابیتون").Height;
this.WindowState = FormWindowState.Maximized;

و نکته مهمی که نباید فراموش بشه اینه که تصویرتون رو کنار فایل اجرایی برنامه در پوشه Debug کپی کنید. برنامه رو اجرا کنید و لذت ببرید .

مدرس : امیر کوهکن

ایمیل : dev.kouhkan77@yahoo.com

جمیل : amirkouhkan1@gmail.com