با Microsoft Visual Studio آشنا شوید و برنامه های خود را با Windows Forms بدون نیاز به کدنویسی توسعه دهید.
Windows Forms یک فریمورک موجود در ویژوال استودیو است که به شما امکان می دهد با کمک یک رابط کاربری گرافیکی برنامه های دسکتاپ بسازید. این به شما امکان می دهد ویجت هایی مانند دکمه ها یا برچسب ها را مستقیماً روی بوم کلیک کرده و بکشید و ویژگی های هر ویجت مانند اندازه قلم، رنگ یا حاشیه آن را دستکاری کنید.
در این مقاله، از یک مبدل ساده سانتیگراد به فارنهایت به عنوان مثال برای بررسی اصول اولیه نحوه راه اندازی یک برنامه فرم ویندوز استفاده می شود. Visual Studio 2019 Community Edition نسخه ای است که برای این آموزش استفاده می شود.
نحوه ایجاد پروژه Windows Forms در ویژوال استودیو
ابتدا پروژه را در ویژوال استودیو ایجاد کنید.
- ویژوال استودیو را باز کرده و Create a New Project را انتخاب کنید.
- ویژوال استودیو لیستی از قالب های پروژه را که می توانید انتخاب کنید در اختیار شما قرار می دهد.
- برای ایجاد یک Windows Forms Application، Windows Form App را جستجو کرده و آن را از لیست الگوها انتخاب کنید. پس از انتخاب این گزینه، روی Next کلیک کنید. اگر گزینه Windows Form App در لیست موجود نیست، نسخه نصب شده ویژوال استودیو را تغییر دهید. در Visual Studio Installer، حجم کار توسعه دسکتاپ دات نت را برای Desktop و Mobile اضافه کنید و Visual Studio را دوباره راه اندازی کنید.
- یک نام و مکان برای پروژه اضافه کنید و روی Next کلیک کنید. مکان دایرکتوری است که فایل های کد در آن ذخیره می شوند.
- در صفحه بعدی، انتخاب پیش فرض .NET Core 3.1 را نگه دارید.
- روی ایجاد کلیک کنید.
- پس از اتمام ساخت پروژه ویژوال استودیو، پروژه باز خواهد شد.
اگر گزینه Windows Form App در لیست موجود نیست، نسخه نصب شده ویژوال استودیو را تغییر دهید. در Visual Studio Installer، حجم کار توسعه دسکتاپ دات نت را برای Desktop و Mobile اضافه کنید و Visual Studio را دوباره راه اندازی کنید.
نحوه اضافه کردن عناصر به بوم پروژه
بوم ناحیه سفیدی است که در سمت چپ بالای صفحه قرار دارد. برای تغییر اندازه در صورت نیاز، روی نقاط پایین، راست یا پایین سمت راست بوم کلیک کرده و بکشید.
برای ایجاد رابط کاربری برنامه، ویجت هایی مانند دکمه ها یا جعبه های متن را روی بوم اضافه کنید.
- تب View را در بالای پنجره باز کرده و جعبه ابزار را انتخاب کنید.
- با این کار یک جعبه ابزار به سمت چپ برنامه اضافه می شود. نماد پین را در سمت راست بالای جعبه ابزار انتخاب کنید تا به طور دائم آن را پین کنید.
- این جایی است که می توانید هر ویجتی را از جعبه ابزار روی بوم بکشید. یک دکمه را از جعبه ابزار برجسته کنید و آن را روی بوم بکشید.
- دو جعبه متن دیگر را به همراه سه برچسب (دو برچسب برای هر جعبه متن و یک برچسب برای عنوان در بالای برنامه) روی بوم بکشید.
- هر ویجت روی بوم دارای ویژگی های مرتبط با آنها است. یک ویجت را برجسته کنید تا پنجره Properties در سمت راست پایین ویژوال استودیو نمایش داده شود که تمام خصوصیات ویجت را فهرست می کند. این ویژگی ها می تواند شامل متن، نام، اندازه قلم، حاشیه یا تراز ویجت برجسته شده باشد.
- در حال حاضر، متن روی این ویجتها همچنان عبارتند از label1، label2 یا button1. ویجت label1 را انتخاب کنید و ویژگی Text را در پنجره خواص ویرایش کنید تا بگویید “سانتیگراد تا فارنهایت”. اندازه فونت را به 22pt تغییر دهید.
- به طور مشابه، ویژگیهای دیگر ویجتهای روی بوم را به صورت زیر ویرایش کنید: ویژگی ویجت مقدار جدید label2 متن برچسب درجه سانتیگراد3 متن دکمه فارنهایت متن محاسبه کادر متنی فارنهایت فقط خواندنی درست است
ویجت
ویژگی
ارزش جدید
label2
متن
درجه سانتیگراد
label3
متن
فارنهایت
دکمه
متن
محاسبه
جعبه متن فارنهایت
فقط خواندنی
درست است، واقعی
نحوه مدیریت رویدادها و نوشتن کد در Code-Behind
ویجت های روی بوم را می توان به رویدادها گره زد. رویدادها میتوانند شامل مواردی مانند کلیک کردن روی یک دکمه، تغییر متن درون کادر متنی یا انتخاب یک دکمه رادیویی خاص باشند. هنگامی که این رویدادها اتفاق می افتد، می تواند باعث شود بخشی از کد در Code-Behind فعال شود.
سی شارپ زبانی است که هنگام ایجاد فرم های ویندوز استفاده می شود. اگر تا به حال از سی شارپ استفاده نکرده اید، دلایل عملی زیادی برای یادگیری برنامه نویسی سی شارپ وجود دارد.
برای این برنامه خاص، یک رویداد به دکمه محاسبه اضافه کنید تا با فشار دادن این دکمه، بخشی از کد اجرا شود.
- روی دکمه Calculate دوبار کلیک کنید تا به طور خودکار Form1.cs با روش رویداد جدید باز شود: private void calculateButton_Click(فرستنده شی، EventArgs e)
- اینجاست که کدی را اضافه می کنید که محاسبه درجه سانتیگراد به فارنهایت را انجام می دهد و نتیجه را در کادر متنی فارنهایت نمایش می دهد. برای انجام این کار، باید بتوانید مقدار را از کادر متنی سلسیوس بخوانید و کادر متنی فارنهایت را برای نمایش نتیجه تغییر دهید.
- به بوم برگردید و ویژگی ها را مانند قبل ویرایش کنید. این بار، ویژگی Name را برای هر دو جعبه متنی سانتیگراد و فارنهایت ویرایش کنید. از این نام ها می توان برای ارجاع به جعبه های متن در کد استفاده کرد. ویژگی ویجت مقدار جدید سلسیوس نام جعبه نوشتاری celsiusTextBox فارنهایت نام جعبه متن fahrenheitTextBox
- به تابع accountButton_Click در Form1.cs برگردید.
- اکنون می توان با استفاده از نام “celsiusTextBox” به کادر متنی Celsius در کد اشاره کرد. مقدار سلسیوسی که کاربر وارد کرده است در ویژگی Text آن ذخیره می شود. با این حال، از آنجایی که یک رشته است، آن را به یک دوتایی تجزیه کنید تا در محاسبات فارنهایت آینده لحاظ شود. private void calculateButton_Click(object sender, EventArgs e){ // مقداری را که کاربر در کادر متنی سلسیوس وارد کرده است را دریافت کنید. = Double.Parse(celsiusTextBox.Text);}
- متغیر celsiusValue اکنون مقداری را که کاربر در کادر متنی Celsius وارد کرده است ذخیره می کند. فرمول تبدیل درجه سانتیگراد به فارنهایت (celsiusValue * 9 / 5) + 32 است. بنابراین، اکنون نتیجه را می توان در کادر متنی فارنهایت محاسبه و ذخیره کرد.private void calculateButton_Click(فرستنده شی، EventArgs e){ // دریافت مقدار که کاربر در کادر متنی سلسیوس وارد کرده است double celsiusValue = Double.Parse(celsiusTextBox.Text); // محاسبه را اعمال کنید نتیجه مضاعف = (CVValue * 9/5) + 32; // نتیجه را در جعبه متن فارنهایت ذخیره کنید fahrenheitTextBox.Text = result.ToString();}
private void calculateButton_Click(object sender, EventArgs e)
ویجت
ویژگی
ارزش جدید
جعبه متنی درجه سانتیگراد
نام
celsiusTextBox
جعبه متن فارنهایت
نام
فارنهایت TextBox
private void calculateButton_Click(object sender, EventArgs e)
{
// Get the value that the user entered in the Celsius Text Box
double celsiusValue = Double.Parse(celsiusTextBox.Text);
}
private void calculateButton_Click(object sender, EventArgs e)
{
// Get the value that the user entered in the Celsius Text Box
double celsiusValue = Double.Parse(celsiusTextBox.Text);
// Apply the calculation
double result = (celsiusValue * 9 / 5) + 32;
// Store the result in the Fahrenheit Textbox
fahrenheitTextBox.Text = result.ToString();
}
چگونه برنامه Windows Forms را اجرا و اشکال زدایی کنیم
اجرای برنامه Windows Forms در ویژوال استودیو
اکنون که UI و منطق کد تنظیم شده است، برنامه را اجرا کنید تا عملکرد آن را ببینید.
- برای اجرای برنامه، فلش سبز رنگ بالای نوار ابزار ویژوال استودیو را انتخاب کنید.
- پس از بارگیری پروژه، یک مقدار را به کادر متنی سلسیوس اضافه کنید و دکمه محاسبه را فشار دهید. این نتیجه را به کادر متن فارنهایت اضافه می کند.
- اگر برنامه در زمان اجرا تار است، احتمالاً برنامه شما از DPI آگاه نیست. این می تواند باعث ایجاد مشکلات مقیاس و وضوح شود، بنابراین باید فعال شود. همچنین میتوانید درباره پیکربندی مقیاس صفحه نمایش در ویندوز 10 برای نمایشگرهای با DPI بالا اطلاعات بیشتری کسب کنید.
- روی پروژه TemperatureConverter در Solutions Explorer کلیک راست کنید. Add را انتخاب کنید، سپس New Item را انتخاب کنید.
- فایل Manifest Application را جستجو کنید و روی Add کلیک کنید.
- کد زیر را به عنوان فرزند تگ اسمبلی در فایل app.manifest جدید کپی کنید (اگر کد از قبل تولید شده است، فقط آن را لغو نظر کنید).
true true - برای اعمال این تغییر، برنامه را دوباره اجرا کنید. دکمه توقف قرمز را در بالای نوار ابزار انتخاب کنید، سپس دوباره دکمه سبز رنگ را انتخاب کنید.
<application xmlns="urn:schemas-microsoft-com:asm.v3">
<windowsSettings>
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
<longPathAware xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">true</longPathAware>
</windowsSettings>
</application>
اشکال زدایی برنامه Windows Forms
اگر منطق برنامه Windows Forms شما مطابق انتظار کار نمی کند، ممکن است بخواهید برنامه را اشکال زدایی کنید.
- به تابع accountButton_Click در Form1.cs برگردید و در هر نقطه از نوار خاکستری در سمت چپ صفحه کلیک کنید. این یک نقطه شکست اضافه می کند که با یک دایره قرمز نشان داده می شود.
- دکمه “Calculate” را دوباره فشار دهید تا این روش اجرا شود. برنامه زمانی که به نقطه شکست برسد متوقف می شود تا تمام مقادیر ذخیره شده در متغیرها در آن نقطه را نشان دهد.
- برای ادامه برنامه، روی فلش سبز رنگ Continue در بالای نوار ابزار کلیک کنید.
اجرای برنامه با استفاده از یک فایل اجرایی
اگر نمی خواهید برنامه خود را از طریق ویژوال استودیو اجرا کنید، از فایل اجرایی مستقل برای برنامه استفاده کنید. این به طور خودکار تولید می شود.
- به فایل اجرایی بروید که در اینجا یافت می شود:
/bin/Debug/netcoreapp3.1/TemperatureConverter.exe - برای اجرای مستقیم برنامه روی فایل اجرایی کلیک کنید.
<your-project-folder>/bin/Debug/netcoreapp3.1/TemperatureConverter.exe
افزودن موارد بیشتر به فرم ویندوز
امیدواریم اکنون درک اولیه ای از ساختار اساسی یک برنامه Windows Form داشته باشید. میتوانید با آزمایش ابزارکهای جدید و بررسی عمیقتر رویدادهای مختلف دیگری که میتوان آنها را مدیریت کرد، به بررسی ویژگیهای فرمهای ویندوز اضافی ادامه دهید.
هنگامی که با فرم های ویندوز بیشتر آشنا شدید، می توانید شروع به ایجاد برنامه های پیچیده تر کنید. شما همچنین می توانید بسیاری از راه های دیگر ایجاد برنامه های کاربردی در دسکتاپ ویندوز را بررسی کنید.