اشکالات اجتناب ناپذیر هستند. نحوه برخورد شما با آنها مهم است.
هنگام ایجاد یک برنامه Windows Form جدید، با مشکلات یا اشکالاتی در کد خود مواجه خواهید شد. این بخشی از روند عادی توسعه است و برای یافتن علت هر گونه مشکل باید کد خود را اشکال زدایی کنید.
ویژوال استودیو ابزارهای زیادی دارد که می توانید از آنها برای رفع اشکال بخشی از کد خود استفاده کنید. این شامل افزودن نقاط شکست به خطوط خاصی از کد و گام به گام در آنها خط به خط است. این به شما کمک می کند تا مقادیر متغیرها را در نقاط خاصی شناسایی کنید.
همچنین می توانید از پنجره فوری برای چاپ متغیرهای خاصی در خط فرمان استفاده کنید.
نحوه اضافه کردن نقاط شکست به فایل سی شارپ
قبل از اجرای برنامهتان، میتوانید چندین نقطه شکست را به خطوط خاصی از کد، در فایلهای کد C# اضافه کنید. هنگامی که برنامه را اجرا می کنید، برنامه زمانی که به نقطه شکست برسد، متوقف می شود. سپس می توانید لیستی از متغیرها و تمام مقادیر آنها را در آن نقطه مشاهده کنید.
- یک برنامه Windows Form جدید ایجاد کنید.
- با استفاده از جعبه ابزار یک دکمه را جستجو کنید. یک دکمه جدید از جعبه ابزار روی بوم بکشید.
- دکمه را هایلایت کرده و به پنجره خواص بروید. ویژگیهای آن را به مقادیر جدید زیر تغییر دهید: نام ارزش جدید btnتبدیل اندازه 200، 80 تبدیل متن
- روی بوم از جعبه ابزار کلیک کنید و یک جعبه متن را بکشید. آن را در سمت چپ دکمه تبدیل قرار دهید.
- کادر متن جدید را هایلایت کرده و به پنجره خواص بروید. ویژگی های آن را به مقادیر جدید زیر تغییر دهید: Property New Value Property New Value نام txtCelcius
- روی بوم از جعبه ابزار کلیک کنید و کادر متن دیگری را بکشید. آن را در سمت راست دکمه تبدیل قرار دهید.
- کادر متن جدید را هایلایت کرده و به پنجره خواص بروید. ویژگی های آن را به موارد زیر تغییر دهید: نام مقدار جدید ویژگی txtFahrenheit Enabled False
- روی بوم، روی دکمه Convert دوبار کلیک کنید. این یک تابع جدید در فایل کد پشتی به نام ()btnConvert_Click ایجاد می کند. رویدادها در یک برنامه Windows Form می توانند عملکردهای خاصی را اجرا کنند. برای مثال، زمانی که کاربر روی دکمه Convert در زمان اجرا کلیک میکند، این تابع فعال میشود.private void btnConvert_Click(فرستنده شی، EventArgs e){}
- کد زیر را در تابع اضافه کنید. با این کار مقدار وارد شده در اولین جعبه متن می شود و از تابع CelciusToFahrenheit() برای تبدیل آن به فارنهایت استفاده می کند. سپس نتیجه نهایی را به user نمایش می دهد.private void btnConvert_Click(object sender, EventArgs e){ // مقدار وارد شده در اولین جعبه متن را دریافت می کند double celsiusValue = Double.Parse(txtCelcius.Text); // محاسبه نتیجه مضاعف = CelciusToFahrenheit(celsiusValue); // نمایش نتیجه txtFahrenheit.Text = result.ToString();}
- تابع CelciusToFahrenheit() را ایجاد کنید. این تابع یک عدد را از درجه سانتیگراد به فارنهایت تبدیل میکند و نتیجه را برمیگرداند.private double CelciusToFahrenheit(مقدار دو برابر){ // فرمول تبدیل سلسیوس به فارنهایت نتیجه دو برابر = (مقدار * 9 / 5) + 32; نتیجه برگشت؛}
- یک نقطه شکست برای خط اول تابع ()btnConvert_Click اضافه کنید. با کلیک بر روی فضای واقع در سمت چپ پنجره کد، نقطه شکست را اضافه کنید.
ویژگی
ارزش جدید
نام
btnConvert
اندازه
200، 80
متن
تبدیل
ویژگی
ارزش جدید
ویژگی
ارزش جدید
نام
txtCelcius
ویژگی
ارزش جدید
نام
txtفارنهایت
فعال شد
نادرست
private void btnConvert_Click(object sender, EventArgs e)
{
}
private void btnConvert_Click(object sender, EventArgs e)
{
// Gets the value entered into the first text box
double celsiusValue = Double.Parse(txtCelcius.Text);
// Calculation
double result = CelciusToFahrenheit(celsiusValue);
// Display the result
txtFahrenheit.Text = result.ToString();
}
private double CelciusToFahrenheit(double value)
{
// Formula to convert Celcius to Fahrenheit
double result = (value * 9 / 5) + 32;
return result;
}
نحوه عبور از توابع و مشاهده مقادیر متغیر محلی
هنگامی که برنامه خود را اجرا می کنید، در اولین نقطه شکست متوقف می شود. می توانید از دکمه های Step Into، Step Over یا Step Out برای اشکال زدایی هر خط از برنامه استفاده کنید.
- روی دکمه سبز رنگ play در بالای پنجره ویژوال استودیو کلیک کنید.
- یک عدد را در کادر متن وارد کنید و روی دکمه تبدیل کلیک کنید.
- برنامه مکث می کند و فایل C# را در جایی که نقطه شکست شما قرار دارد باز می کند. در این حالت، در تابع btnConvert_Click() مکث می کند، زیرا شما این تابع را با کلیک بر روی Convert فعال کرده اید.
- در بالای پنجره ویژوال استودیو، میتوانید از دکمههای Step Into (F11)، Step Over (F10) و Step Out (Shift + F11) برای کلیک کردن روی برنامه، خط به خط استفاده کنید. این به شما امکان می دهد تا تمام متغیرها و مقادیر یک خط برجسته را اشکال زدایی کنید.
- روی دکمه Step Over کلیک کنید تا خط بعدی در کد مشخص شود.
- در پایین برنامه ویژوال استودیو، روی تب Locals کلیک کنید. این به شما اجازه می دهد تا مقادیر تمام متغیرها را در آن نقطه از برنامه مشاهده کنید.
- اکنون خط برجسته شده حاوی فراخوانی تابع CelciusToFahrenheit() است. برای ورود به این تابع، روی دکمه Step Into کلیک کنید.
- روی دکمه Step Out کلیک کنید تا از تابع سلسیوس به فارنهایت () خارج شوید و به تابع ()btnConvert_Click برگردید.
نحوه مشاهده مقادیر با استفاده از پنجره فوری
تب پنجره فوری به شما امکان می دهد مقادیر هر متغیر موجود را چاپ کنید و می تواند ابزار بسیار مفیدی در هنگام اشکال زدایی باشد. شما همچنین می توانید کدهای یک خطی آزاد بنویسید تا نتایج و مقادیر مختلف را آزمایش کنید.
- در داخل تابع ()CelciusToFahrenheit، محاسبه را تغییر دهید. این منجر به پاسخ اشتباه می شود. نتیجه دو برابر = مقدار * 9 / 5;
- تمام نقاط شکست موجود را با کلیک بر روی آنها حذف کنید.
- یک نقطه شکست جدید در تابع () سلسیوس به فارنهایت، در نقطه ای که نتیجه را برمی گردانید، اضافه کنید.
- در حالی که برنامه در حال اجرا است، دوباره یک عدد را در کادر متن وارد کنید و روی دکمه تبدیل کلیک کنید.
- هنگامی که برنامه در نقطه شکست جدید شما متوقف شد، روی تب پنجره فوری کلیک کنید. این را می توانید در سمت راست پایین برنامه ویژوال استودیو پیدا کنید.
- نام یک متغیر موجود، مانند “نتیجه” را تایپ کنید. روی صفحه کلید Enter را فشار دهید تا مقدار فعلی آن در آن نقطه چاپ شود.
- همچنین میتوانید خطوط کد خود را تایپ کنید و بعد از هر خط Enter را روی صفحه کلید خود فشار دهید تا نتیجه را مشاهده کنید. خط کد زیر را در تب پنجره فوری تایپ کنید و enter:value * 9/5 را فشار دهید
- در پنجره فوری، محاسبه صحیح را تایپ کنید تا نتیجه صحیح را ببینید. تایپ کردن خطوط کد به این روش به شما امکان می دهد تا مقادیر جدید را به سرعت و به راحتی مشاهده کنید و آنچه را که می تواند باعث این مشکل شده باشد، پیدا کنید. در اینجا می بینید که نتیجه نادرست به دلیل محاسبه نادرست است.(مقدار * 9/5) + 32
double result = value * 9 / 5;
value * 9 / 5
(value * 9 / 5) + 32
اشکال زدایی برنامه های Winforms برای بررسی خطاها
امیدواریم اکنون متوجه شده باشید که چگونه یک برنامه Windows Form را اشکال زدایی کنید. با استفاده از نقاط شکست و قدم گذاشتن در هر خط، اکنون باید بتوانید علت اصلی مشکلاتی را که ممکن است رخ دهد، تعیین کنید.
اکنون میتوانید برنامههایی را که میسازید تقریباً بدون اشکال حفظ کرده و نگهداری کنید!