خبر و ترفند روز

خبر و ترفند های روز را اینجا بخوانید!

چگونه با استفاده از فرم های ویندوز یک برنامه تاس غلطک ساده ایجاد کنیم

برای جلسه بعدی بازی خود بدون قالب گیر کرده اید؟ بیاموزید که چگونه برنامه خود را بچرخانید تا جای آن را بگیرد.

Windows Forms یک ابزار عالی است که می توانید از آن برای ایجاد بصری برنامه های دسکتاپ استفاده کنید. می توانید این کار را با کلیک کردن و کشیدن عناصر UI روی بوم، و افزودن رویدادها و کد برای عملکرد کلی انجام دهید.

اگر در Windows Forms تازه کار هستید، ایجاد یک برنامه ساده برای درک بیشتر در مورد رویدادها و نحوه تولید گرافیک روی فرم می تواند مفید باشد.

یکی از برنامه های ساده ای که می توانید ایجاد کنید تاس غلتک است. در این برنامه، با کلیک بر روی دکمه “رول” به صورت تصادفی یکی از چهره های یک قالب را انتخاب و نمایش می دهد.

چگونه یک دکمه رول برای برنامه Dice Roller اضافه کنیم

برای افزودن رابط کاربری، یک برنامه ویژوال استودیو جدید ایجاد کنید و از جعبه ابزار برای اضافه کردن یک دکمه رول و یک قالب استفاده کنید.

  1. ویژوال استودیو را در رایانه خود باز کنید و یک پروژه Windows Forms جدید ایجاد کنید.
  2. روی یک دکمه از جعبه ابزار کلیک کرده و بکشید و آن را روی بوم قرار دهید.
  3. از پنجره خواص برای تغییر خصوصیات دکمه به مقادیر جدید زیر استفاده کنید: ویژگی مقدار جدید نام rollButton متن رول مکان 130, 110
  4. روی دکمه Roll دوبار کلیک کنید. این یک تابع برای رویداد کلیک ایجاد می کند. این تابع زمانی اجرا می‌شود که در زمان اجرا روی دکمه کلیک کنید.private void rollButton_Click(فرستنده شی، EventArgs e){}
  5. در داخل تابع rollButton_Click()، از کلاس Random برای تولید یک عدد تصادفی بین یک و شش استفاده کنید. تصادفی تصادفی = new Random();int randomNumber = random.Next(1, 7);

دکمه جدید روی بوم Winforms کشیده شد

ویژگی

ارزش جدید

نام

رول دکمه

متن

رول

محل

130، 110

پنجره خصوصیات دکمه Winforms

private void rollButton_Click(object sender, EventArgs e)
{
}

Random random = new Random();
int randomNumber = random.Next(1, 7);

نحوه ایجاد شش چهره برای مردن

برای ایجاد چهره های قالب، شش شی پانل ایجاد کنید. از کلاس Graphics برای ایجاد گرافیک دایره ای برای نمایش هر یک از اعداد روی صفحه قالب استفاده کنید.

اگر با افزودن اشکال و گرافیک به برنامه Windows Forms آشنا نیستید، می توانید درباره افزودن گرافیک به برنامه Winforms اطلاعات بیشتری کسب کنید.

  1. شش شیء پانل سراسری برای نمایش شش وجه قالب ایجاد کنید. Panel face1 = new Panel(); Panel face2 = new Panel(); Panel face3 = new Panel(); Panel face4 = new Panel(); Panel face5 = new Panel();Panel face6 = new Panel();
  2. یک تابع جدید به نام InitializeFace() ایجاد کنید. در داخل تابع، برخی از ویژگی ها را به چهره ها اضافه کنید. اینها شامل حاشیه، اندازه، مکان یا دید صورت است. همچنین شامل کنترل‌کننده رویداد رنگ می‌شود که وقتی پانل در زمان اجرا ایجاد می‌شود، دایره‌های قالب را ترسیم می‌کند.private void InitializeFace(نمای پانل، نام رشته){    face.Name = name; چهره.مشاهده = نادرست; face.Size = new Size(500, 500); face.BorderStyle = BorderStyle.FixedSingle; face.Location = new Point(250, 250); face.Paint += PaintEventHandler جدید(this.Panel_Paint);}
  3. در انتهای تابع InitializeFace()، پس از افزودن مقادیر به خصوصیات چهره، کنترل پنل را به form.this.Controls.Add(face) اضافه کنید.
  4. در داخل سازنده فرم، تابع InitializeFace() را برای هر یک از شش وجه از die.public Form1(){    InitializeComponent(); InitializeFace(face1, “1”); InitializeFace(face2, “2”); InitializeFace(face3, “3”); InitializeFace(face4, “4”); InitializeFace(face5, “5”); InitializeFace(face6, “6”);}
  5. تابع Panel_Paint() را برای کنترل کننده رویداد Paint ایجاد کنید. این دایره ها را روی هر یک از چهره ها می کشد. این برنامه بسته به تعداد چهره‌ای که چرخانده‌اید، دایره‌ها را در مکان‌های مختلف ایجاد می‌کند. خصوصی void Panel_Paint (فرستنده شی، PaintEventArgs e){    // قلمی را ایجاد کنید که از آن برای ترسیم دایره‌ها استفاده می‌کنید    Color red = Color. قرمز؛ SolidBrush solidBrush = New SolidBrush(قرمز); پنل پنل = فرستنده به عنوان پنل; // بسته به چهره ای که رول می کنید، تعداد دایره های متفاوتی بکشید. سوئیچ (panel.Name)    {         case “1”:            e.Graphics.FillEllipse(solidBrush, 200, 200, 100, 100); زنگ تفريح؛ case “2”:            e.Graphics.FillEllipse(solidBrush, 100, 200, 100, 100); e.Graphics.FillEllipse(solidBrush, 300, 200, 100, 100); زنگ تفريح؛ case “3”:            e.Graphics.FillEllipse(solidBrush, 100, 100, 100, 100); e.Graphics.FillEllipse(solidBrush, 200, 200, 100, 100); e.Graphics.FillEllipse(solidBrush, 300, 300, 100, 100); زنگ تفريح؛ case “4”:            e.Graphics.FillEllipse(solidBrush, 100, 100, 100, 100); e.Graphics.FillEllipse(solidBrush, 100, 300, 100, 100); e.Graphics.FillEllipse(solidBrush, 300, 100, 100, 100); e.Graphics.FillEllipse(solidBrush, 300, 300, 100, 100); زنگ تفريح؛ case “5”:            e.Graphics.FillEllipse(solidBrush, 100, 100, 100, 100); e.Graphics.FillEllipse(solidBrush, 100, 300, 100, 100); e.Graphics.FillEllipse(solidBrush, 300, 100, 100, 100); e.Graphics.FillEllipse(solidBrush, 300, 300, 100, 100); e.Graphics.FillEllipse(solidBrush, 200, 200, 100, 100); زنگ تفريح؛ پیش‌فرض:            e.Graphics.FillEllipse(solidBrush، 100، 200، 100، 100)؛ e.Graphics.FillEllipse(solidBrush, 300, 200, 100, 100); e.Graphics.FillEllipse(solidBrush, 100, 80, 100, 100); e.Graphics.FillEllipse(solidBrush, 300, 80, 100, 100); e.Graphics.FillEllipse(solidBrush, 100, 320, 100, 100); e.Graphics.FillEllipse(solidBrush, 300, 320, 100, 100); زنگ تفريح؛ }}

Panel face1 = new Panel();
Panel face2 = new Panel();
Panel face3 = new Panel();
Panel face4 = new Panel();
Panel face5 = new Panel();
Panel face6 = new Panel();

private void InitializeFace(Panel face, string name)
{
    face.Name = name;
    face.Visible = false;
    face.Size = new Size(500, 500);
    face.BorderStyle = BorderStyle.FixedSingle;
    face.Location = new Point(250, 250);
    face.Paint += new PaintEventHandler(this.Panel_Paint);
}

this.Controls.Add(face);

public Form1()
{
    InitializeComponent();
    InitializeFace(face1, "1");
    InitializeFace(face2, "2");
    InitializeFace(face3, "3");
    InitializeFace(face4, "4");
    InitializeFace(face5, "5");
    InitializeFace(face6, "6");
}

private void Panel_Paint(object sender, PaintEventArgs e)
{
    // Create the pen that you will use to draw the circles
    Color red = Color.Red;
    SolidBrush solidBrush = new SolidBrush(red);
    Panel panel = sender as Panel;
            
    // Draw a different number of circles, depending on what face you roll.
    switch (panel.Name)
    {
        case "1":
            e.Graphics.FillEllipse(solidBrush, 200, 200, 100, 100);
            break;
        case "2":
            e.Graphics.FillEllipse(solidBrush, 100, 200, 100, 100);
            e.Graphics.FillEllipse(solidBrush, 300, 200, 100, 100);
            break;
        case "3":
            e.Graphics.FillEllipse(solidBrush, 100, 100, 100, 100);
            e.Graphics.FillEllipse(solidBrush, 200, 200, 100, 100);
            e.Graphics.FillEllipse(solidBrush, 300, 300, 100, 100);
            break;
        case "4":
            e.Graphics.FillEllipse(solidBrush, 100, 100, 100, 100);
            e.Graphics.FillEllipse(solidBrush, 100, 300, 100, 100);
            e.Graphics.FillEllipse(solidBrush, 300, 100, 100, 100);
            e.Graphics.FillEllipse(solidBrush, 300, 300, 100, 100);
            break;
        case "5":
            e.Graphics.FillEllipse(solidBrush, 100, 100, 100, 100);
            e.Graphics.FillEllipse(solidBrush, 100, 300, 100, 100);
            e.Graphics.FillEllipse(solidBrush, 300, 100, 100, 100);
            e.Graphics.FillEllipse(solidBrush, 300, 300, 100, 100);
            e.Graphics.FillEllipse(solidBrush, 200, 200, 100, 100);
            break;
        default:
            e.Graphics.FillEllipse(solidBrush, 100, 200, 100, 100);
            e.Graphics.FillEllipse(solidBrush, 300, 200, 100, 100);
            e.Graphics.FillEllipse(solidBrush, 100, 80, 100, 100);
            e.Graphics.FillEllipse(solidBrush, 300, 80, 100, 100);
            e.Graphics.FillEllipse(solidBrush, 100, 320, 100, 100);
            e.Graphics.FillEllipse(solidBrush, 300, 320, 100, 100);
            break;
    }
}

چگونه قالب را بچرخانیم

برای قرار دادن قالب بر روی یک صفحه تصادفی، تابع rollButton_Click() را تغییر دهید تا زمانی که قالب بر روی یک عدد مشخص قرار می‌گیرد، چهره آن نمایش داده شود.

  1. یک تابع به نام ResetDie() ایجاد کنید. در داخل تابع، نمایان بودن همه چهره ها را روی false تنظیم کنید. این تضمین می‌کند که هر بار که قالب را می‌چرخانید، چهره‌های قبلی نمایش داده شده دیگر قابل مشاهده نیستند.private void ResetDie(){    face1.Visible = false; face2.Visible = false; face3.Visible = false; face4.Visible = false; face5.Visible = false; face6.Visible = false;}
  2. تابع rollButton_Click() را تغییر دهید. اگر آن عدد خاص را انتخاب کرده‌اید، نمایان بودن چهره را روی true تنظیم کنید.private void rollButton_Click(object sender, EventArgs e){    // ایجاد یک عدد تصادفی بین یک تا شش    Random random = new Random(); int randomNumber = random.Next(1, 7); // پنهان کردن اضلاع نمایش داده شده قبلی    ResetDie(); // سمتی را که رول شد تنظیم کنید تا قابل مشاهده باشد     if (تعداد تصادفی == 1)        face1.Visible = true; if (تعداد تصادفی == 2)        face2.Visible = true; if (تعداد تصادفی == 3)        face3.Visible = true; if (تعداد تصادفی == 4)        face4.Visible = true; if (تعداد تصادفی == 5)        face5.Visible = true; if (تعداد تصادفی == 6)        face6.Visible = true;}

private void ResetDie()
{
    face1.Visible = false;
    face2.Visible = false;
    face3.Visible = false;
    face4.Visible = false;
    face5.Visible = false;
    face6.Visible = false;
}

private void rollButton_Click(object sender, EventArgs e)
{
    // Generate a random number between one and six
    Random random = new Random();
    int randomNumber = random.Next(1, 7);
 
    // Hide previously displayed sides
    ResetDie();
 
    // Set the side that was rolled to be visible
    if (randomNumber == 1)
        face1.Visible = true;
    if (randomNumber == 2)
        face2.Visible = true;
    if (randomNumber == 3)
        face3.Visible = true;
    if (randomNumber == 4)
        face4.Visible = true;
    if (randomNumber == 5)
        face5.Visible = true;
    if (randomNumber == 6)
        face6.Visible = true;
}

نحوه اجرای برنامه

برنامه را با استفاده از دکمه run اجرا کنید و دکمه Roll را فشار دهید تا قالب چرخانده شود و یک سمت تصادفی نمایش داده شود.

  1. در بالای برنامه ویژوال استودیو، روی دکمه سبز رنگ play کلیک کنید.
  2. برای چرخاندن قالب روی دکمه Roll کلیک کنید. با فشار دادن دکمه Roll، چهره‌های قالب تغییر می‌کنند.
مطلب مرتبط:   نحوه استفاده از Generator و Iterator در جاوا اسکریپت

دکمه سبز رنگ زمان اجرا در برنامه Winformsاپلیکیشن Dice Roller در زمان اجرا

ایجاد برنامه های کاربردی ساده با استفاده از فرم های ویندوز

می توانید از فرم های ویندوز برای ایجاد برنامه های دسکتاپ با استفاده از رابط کاربری گرافیکی استفاده کنید. می توانید این کار را با کشیدن عناصر UI روی بوم و اضافه کردن منطق عملکردی در فایل های پشت کد انجام دهید.

برای تقویت یادگیری خود، ایده خوبی است که کلون‌هایی از برنامه‌های موجود را دوباره ایجاد کنید. می‌توانید برخی از دیگر برنامه‌های شبیه‌سازی را که می‌توانید در حین یادگیری در مورد برنامه‌های Windows Forms ایجاد کنید، کاوش کنید. این شامل مبدل‌ها، ماشین‌حساب‌ها، مدیران فایل و موارد دیگر می‌شود.