یاد بگیرید که چگونه یک برنامه ماشین حساب اولیه ایجاد کنید و سفر برنامه نویسی خود را با Windows Forms آغاز کنید.
هنگام یادگیری نحوه کدنویسی، کسب تجربه با ایجاد مجدد برنامه هایی که از قبل وجود دارد می تواند مفید باشد. یکی از برنامه های مبتدی معمولی که می توانید با آن شروع کنید یک ماشین حساب است.
می توانید با استفاده از یک پروژه Windows Forms در ویژوال استودیو یک برنامه ماشین حساب دسکتاپ ایجاد کنید. در یک برنامه Windows Forms، میتوانید عناصر UI را کلیک کرده و روی بوم بکشید تا طراحی ماشینحساب خود را تجسم کنید.
سپس میتوانید منطق کد را به فایلهای C# زیرین اضافه کنید تا مشخص کنید وقتی کاربر روی یک عدد، اپراتور، دکمه پاک کردن یا برابر کلیک میکند چه اتفاقی میافتد.
نحوه اضافه کردن عناصر UI به ماشین حساب
با ایجاد یک Windows Form Application جدید در ویژوال استودیو شروع کنید. سپس، عناصر UI را به بوم اضافه کنید تا رابط کاربری ماشین حساب ایجاد شود.
نحوه اضافه کردن دکمه های شماره و اپراتور
برای نمایش اعداد و عملگرها (+، – و غیره) که کاربر روی آنها کلیک می کند، دکمه هایی را اضافه کنید.
- به بوم بروید، که باید به طور پیش فرض باز باشد. اگر اینطور نیست، روی فایل .cs برای فرم (به عنوان مثال Form1.cs) کلیک کنید. روی منوی کشویی کلیک کنید و به حالت طراحی بروید.
- در جعبه ابزار، عنصر UI Button را جستجو کنید. روی بوم کلیک کنید و یک دکمه را بکشید.
- دکمه را برجسته کنید. در پنجره خصوصیات، هر یک از ویژگی های دکمه زیر را به مقدار جدید مربوطه تغییر دهید: ویژگی مقدار جدید نام دکمه1 اندازه 120، 120 متن 1
- 19 دکمه دیگر را به بوم اضافه کنید تا سایر اعداد، عملگرها و عملکردهای ماشین حساب را نشان دهید.
- برای هر دکمه، دکمه را هایلایت کنید و ویژگی متن و نام را در پنجره ویژگی تغییر دهید. مقادیر را تغییر دهید تا با شماره یا عملکرد دکمه مطابقت داشته باشد. Button Name Property Text Property 2 button2 2 3 button3 3 4 button4 4 5 button5 5 6 button6 6 7 button7 7 8 button8 8 9 button9 9 0 button0 0 Addition buttonAddition + Subtraction button تفریق – ضرب ضرب X تقسیم دکمه تقسیم تقسیم. دکمه علامت برابری برابر است = دکمه براکت راست براکت راست
- ترتیب دکمه ها را مجدداً مرتب کنید تا ظاهر یک ماشین حساب استاندارد تکرار شود. اندازه همه دکمه ها یکسان باشد.
- همچنین می توانید با استفاده از ویژگی BackColor در پنجره خواص، برخی از دکمه ها را هایلایت کرده و رنگ آنها را به یکی از دلخواه تغییر دهید.
- به عنوان مثال، دکمه افزودن را برجسته کنید. به پنجره خصوصیات بروید و ویژگی BackColor را پیدا کنید. نقره ای را از لیست گزینه های بازشو انتخاب کنید. می توانید دکمه های اپراتور را نقره ای و دکمه های C و CE را به رنگ نارنجی درآورید.
ویژگی
ارزش جدید
نام
دکمه 1
اندازه
120، 120
متن
1
دکمه
اموال نام
ویژگی متن
2
دکمه 2
2
3
دکمه 3
3
4
دکمه 4
4
5
دکمه 5
5
6
دکمه 6
6
7
دکمه 7
7
8
دکمه 8
8
9
دکمه 9
9
0
button0
0
اضافه
دکمه افزودن
+
منها کردن
دکمه تفریق
–
ضرب
دکمه ضرب
ایکس
بخش
دکمه تقسیم
÷
نقطه اعشاری
دکمه اعشاری
.
علامت مساوی
دکمه برابر است
=
براکت سمت راست
دکمه سمت راست
)
براکت چپ
دکمه براکت چپ
(
پاک کردن
دکمه پاک کردن
سی
پاک کردن ورودی
دکمه ClearEntry
CE
نحوه اضافه کردن برچسب نتیجه خروجی
برای نمایش نتیجه ای که ماشین حساب به کاربر نمایش می دهد، یک عنصر UI جعبه متن اضافه کنید.
- در جعبه ابزار، یک عنصر پنل UI را روی بوم بکشید.
- پانل را هایلایت کرده و ویژگی BackColor را در پنجره خواص پیدا کنید. این را به رنگ سفید تغییر دهید. همچنین می توانید اندازه پانل را تغییر دهید و آن را مجدداً در موقعیت مکانی قرار دهید تا بیشتر شبیه ماشین حساب شود.
- در جعبه ابزار، یک عنصر TextBox UI را روی بوم بکشید.
- کادر متنی را برجسته کنید. در پنجره خصوصیات، ویژگی های زیر را به مقدار جدید تغییر دهید: ویژگی نام مقدار جدید textBoxOutput BorderStyle هیچ متن 0 TextAlign Right Enabled False BackColor سفید
- جعبه متن را داخل پانل قرار دهید.
ویژگی
ارزش جدید
نام
textBoxOutput
BorderStyle
هیچ یک
متن
0
TextAlign
درست
فعال شد
نادرست
BackColor
سفید
نحوه اضافه کردن منطق محاسبه
وقتی کاربر روی دکمه ها کلیک می کند، کدی را برای اجرای منطق محاسباتی اضافه کنید.
- فایل .cs خود را برای فرم باز کنید (به عنوان مثال Form1.cs).
- متغیری به نام currentCalculation را در بالای کلاس اعلام کنید. اگر با آنها آشنایی ندارید، میتوانید نحوه ایجاد کلاسها در سی شارپ را بیاموزید. کلاس عمومی جزئی Form1 : Form{ private string currentCalculation = “”; عمومی Form1() { InitializeComponent(); }}
- در زیر سازنده، یک تابع جدید به نام button_Click() ایجاد کنید. هر بار که کاربر روی دکمه (+، -، X، ÷، و غیره) کلیک میکند. خصوصی void button_Click(فرستنده شی، EventArgs e) { }
- یکی از آرگومان هایی که به تابع button_Click() ارسال می شود، شیء دکمه ای است که کاربر روی آن کلیک می کند. ویژگی متنی شی دکمه را به محاسبه رشته اضافه کنید. همانطور که کاربر روی دکمهها کلیک میکند، این یک رشته برای محاسبه ایجاد میکند، مانند “22+5-7”.private void button_Click(فرستنده شی، EventArgs e){ // این عدد یا عملگر را به محاسبه رشته اضافه میکند currentCalculation += (فرستنده به عنوان دکمه). // نمایش محاسبه فعلی به کاربر textBoxOutput.Text = currentCalculation;}
- به بوم برگردید. هر دکمه را برجسته کنید (به استثنای دکمه های C، CE و برابر) و به پنجره رویدادها بروید. رویداد Click را پیدا کنید و تابع button_Click() را انتخاب کنید. با کلیک بر روی دکمه، این عملکرد باعث می شود تا اجرا شود.
public partial class Form1 : Form
{
private string currentCalculation = "";
public Form1()
{
InitializeComponent();
}
}
private void button_Click(object sender, EventArgs e)
{
}
private void button_Click(object sender, EventArgs e)
{
// This adds the number or operator to the string calculation
currentCalculation += (sender as Button).Text;
// Display the current calculation back to the user
textBoxOutput.Text = currentCalculation;
}
نحوه محاسبه نتیجه و نمایش آن به کاربر
وقتی کاربر روی دکمه تساوی کلیک می کند، یک تابع دیگر برای محاسبه نتیجه نهایی ایجاد کنید.
- یک تابع جدید به نام button_Equals_Click () ایجاد کنید. ابتدا باید رشته را فرمت کنید تا کاراکترهای X و ÷ را با * و / جایگزین کنید. سپس از تابع Compute() برای محاسبه نتیجه استفاده کنید. نمایش نتیجه به user.private void button_Equals_Click(فرستنده شی، EventArgs e){ string formattedCalculation = currentCalculation.ToString().Replace(“X”, “*”).ToString().Replace(“÷”, ” /”) سعی کنید { textBoxOutput.Text = new DataTable().Compute(formattedCalculation, null).ToString(); currentCalculation = textBoxOutput.Text; } catch (exception ex) { textBoxOutput.Text = “0”; currentCalculation = “”; }}
- مطمئن شوید که بلوک try-catch را در اطراف تابع Compute() قرار داده اید تا ورودی های نامعتبر مانند “123++7” را ضبط کنید. در این حالت، اگر کاربر یک محاسبه نامعتبر وارد کند، نتیجه همیشه 0 برمی گردد.
- تابع Compute() بخشی از فضای نام System.Data است. دستور use را اضافه کنید تا در بالای کلاس قرار گیرد، اگر قبلاً وجود ندارد. با استفاده از System.Data.
- به بوم برگردید. دکمه برابر را برجسته کرده و به پنجره رویدادها بروید. رویداد Click را پیدا کنید و تابع button_Equals_Click() را انتخاب کنید. با کلیک بر روی دکمه تساوی، این عملکرد باعث می شود تا اجرا شود.
private void button_Equals_Click(object sender, EventArgs e)
{
string formattedCalculation = currentCalculation.ToString().Replace("X", "*").ToString().Replace("÷", "/");
try
{
textBoxOutput.Text = new DataTable().Compute(formattedCalculation, null).ToString();
currentCalculation = textBoxOutput.Text;
}
catch (Exception ex)
{
textBoxOutput.Text = "0";
currentCalculation = "";
}
}
using System.Data;
نحوه پاک کردن ماشین حساب
عملکرد دکمه های C (Clear) و CE (Clear Entry) را اضافه کنید. دکمه Clear محاسبات فعلی را به طور کامل پاک می کند. دکمه Clear Entry فقط آخرین شماره یا اپراتور وارد شده را پاک می کند.
- تابع دیگری به نام button_Clear_Click() ایجاد کنید. زمانی که کاربر روی دکمه Clear در ماشین حساب کلیک کند این کار اجرا می شود. در داخل تابع، محاسبه و مقدار داخل جعبه متن نتایج را بازنشانی کنید.private void button_Clear_Click(object sender, EventArgs e){ // محاسبه را بازنشانی کنید و جعبه متن را خالی کنید textBoxOutput.Text = “0”; CurrentCalculation = “”;}
- روی بوم، دکمه Clear را برجسته کرده و به پنجره رویدادها بروید.
- رویداد کلیک را پیدا کنید. مقدار را به button_Clear_Click تغییر دهید.
- تابع دیگری به نام button_ClearEntry_Click () ایجاد کنید. زمانی که کاربر روی دکمه Clear Entry در ماشین حساب کلیک کند، این کار اجرا می شود. در داخل تابع، آخرین نویسه را از رشته محاسبه فعلی حذف کنید. private void button_ClearEntry_Click(فرستنده شی، EventArgs e){ // اگر محاسبه خالی نیست، آخرین عدد/عملگر وارد شده if (currentCalculation. طول > {0) را بردارید. CurrentCalculation = CurrentCalculation.Remove(currentCalculation.Length – 1, 1); } // محاسبات را دوباره روی صفحه نمایش دهید textBoxOutput.Text = currentCalculation;}
- روی بوم، دکمه Clear Entry را برجسته کرده و به پنجره رویدادها بروید.
- رویداد کلیک را پیدا کنید. مقدار را به button_ClearEntry_Click تغییر دهید.
private void button_Clear_Click(object sender, EventArgs e)
{
// Reset the calculation and empty the textbox
textBoxOutput.Text = "0";
currentCalculation = "";
}
private void button_ClearEntry_Click(object sender, EventArgs e)
{
// If the calculation is not empty, remove the last number/operator entered
if (currentCalculation.Length > 0)
{
currentCalculation = currentCalculation.Remove(currentCalculation.Length - 1, 1);
}
// Re-display the calculation onto the screen
textBoxOutput.Text = currentCalculation;
}
نحوه اجرای برنامه ماشین حساب
می توانید ماشین حساب را در ویژوال استودیو اجرا کنید تا عملکرد آن را آزمایش کنید.
- روی دکمه سبز رنگ play در بالای برنامه ویژوال استودیو کلیک کنید.
- روی دکمه های ماشین حساب کلیک کنید. محاسبه در فضای سفید بالای ماشین حساب نشان داده می شود. با فشار دادن دکمه تساوی، آن را با پاسخ جایگزین می کند. دکمه های Clear و Clear Entry نیز محاسبات یا ورودی را پاک می کنند.
ایجاد برنامه های دسکتاپ با استفاده از فرم های ویندوز
می توانید با استفاده از یک پروژه Windows Forms در ویژوال استودیو یک برنامه ماشین حساب دسکتاپ ایجاد کنید. از بوم و جعبه ابزار برای کشیدن و رها کردن عناصر رابط کاربری برای ایجاد طراحی ماشین حساب استفاده کنید. منطق کد و عملکرد خود را در کد سی شارپ پشت فایل ها اضافه کنید.
ماشین حساب تنها یکی از بسیاری از برنامه های مبتدی ساده است که می توانید هنگام یادگیری کدنویسی بسازید. سایر برنامههای مبتدی که میتوانید ایجاد کنید شامل مبدلها، مدیر فایل، بازیهای تاس یا تولیدکننده پرچم است. شما می توانید این موارد را از ابتدا با استفاده از یک برنامه Windows Forms ایجاد کنید.