در این مدت کسانی که در دوره آموزش برنامه نویسی سی شارپ شرکت کردند نمونه سورس کدهایی که درست می کنند و می نویسند رو میفرستند و با اسم خودشون داخل سایت قرار میدهیم. در این مطلب میخواهیم سورس کد Loading در سی شارپ رو برای شما قرار دهیم. نحوه ساخت لودینگ در سی شارپ در دوره آموزشی، ارائه شده است اما شرکت کننده ها باید به یک سبک دیگر این سورس کدها رو تغییر دهند و چیزای جذاب تر تولید کنند. پس همراه ما باشید تا علاوه برا دانلود سورس کد Loading در سی شارپ، توضیحاتی در مورد خود سورس کد ارائه شده دهیم.
قبل از اینکه در مورد سورس کد Loading در سی شارپ صحبت کنیم و توضیحات لازم رو ارائه دهیم باید بگم منظور از Loading همون باگذاری هستی، وقتی یک سایت یا نرم افزار رو می خواهید باز کنید، یک صفحه یا پنجره ای با عنوان لودینگ نمایش داده می شود تا کل سایت یا نرم افزار لود شود.
سورس کد Loading در سی شارپ
در سایت سورس ایران سورس کد Loading در سی شارپ زیاد قرار دادیم اما به نظرم این موردی که در حال معرفی آن نیستم خیلی جذاب تر و بهتر هستش و خیلی بهینه تر کد نویسی شده است. در بخش زیر سعی می کنیم تمام بخش های این سورس کد رو مورد بررسی قرار دهیم. اینم بگم یکی از بخش هایی که باعث می شود برنامه ها دارای ظاهر زیبا شوند همین بخش لودینگ یا بارگذاری برنامه هستش، این سورس کد هم دارای ظاهری زیبا و جذاب می باشد که می توانید از آن در پروژه های خود استفاده کنید.
در ابتدای بررسی کدهای پروژه loading در سی شارپ، ابتدا ما برای بهتر کردن ظاهر فرم، گوشه های فرم رو گرد می کنیم برای این کار ابتدا قطعه کد زیر رو در بخش using ها اضاف می کنیم.
using System.Runtime.InteropServices;
و بعد کد های زیر را اضافه می کنیم. اگر مقدار کمی سی شارپ کار کرده باشید این کدها به شدت ساده هستند و اصلا نیاز به توضیح خاصی نیست چون این کدها مربوط به گرد کرد فرم هستش و خیلی راحت می توانید آنها رو درک کنید.
public partial class LodingRain : Form { [DllImport("Gdi32.dll", EntryPoint = "CreateRoundRectRgn")] private static extern IntPtr CreateRoundRectRgn( int Left, int top, int right, int bottom, int width, int hright );
در ادامه توضیح کدهای loading در سی شارپ به سراغ قطرات باران میرویم. بعد از کد های بالا یک آرایه تعریف می کنیم که سرعت قطرات باران را معین می کند و بعد از آرایه دو متغیر تعریف میکنیم که در بخش درصد پیشرفت از آن استفاده می کنیم.
int[] rainspeede = {4,6,8,3,5,6,7,4}; int LodingSpeed=2; float initialpercentage=0;
و بعد از اضافه کردن کد های بالا در سازنده اصلی فرم کد زیر رو می نویسیم.
Region = System.Drawing.Region.FromHrgn(CreateRoundRectRgn(0, 0, Width, Height, 20, 20));
و بعد از اضافه کردن کد بالا یک تایمر را به برنامه اضافه می کنیم و در رویداد تیکت تایمر کد های زیر را اضاف می کنیم که باعث حرکت قطرات باران می شود.
private void timer1_Tick(object sender, EventArgs e) for (int i = 0; i < 8;i++ ) { switch (i) { case 0: picrain1.Location = new Point(picrain1.Location.X, picrain1.Location.Y + rainspeede[i]); if (picrain1.Location.Y>panel1.Size.Height+picrain1.Size.Height) { picrain1.Location = new Point(picrain1.Location.X,0-picrain1.Size.Height); } break; case 1: picrain2.Location = new Point(picrain2.Location.X, picrain2.Location.Y + rainspeede[i]); if (picrain2.Location.Y > panel1.Size.Height + picrain2.Size.Height) { picrain2.Location = new Point(picrain2.Location.X, 0 - picrain2.Size.Height); } break; case 2: picrain3.Location = new Point(picrain3.Location.X, picrain3.Location.Y + rainspeede[i]); if (picrain3.Location.Y > panel1.Size.Height + picrain3.Size.Height) { picrain3.Location = new Point(picrain3.Location.X, 0 - picrain3.Size.Height); } break; case 3: picrain4.Location = new Point(picrain4.Location.X, picrain4.Location.Y + rainspeede[i]); if (picrain4.Location.Y > panel1.Size.Height + picrain4.Size.Height) { picrain4.Location = new Point(picrain4.Location.X, 0 - picrain4.Size.Height); } break; case 4: picrain5.Location = new Point(picrain5.Location.X, picrain5.Location.Y + rainspeede[i]); if (picrain5.Location.Y > panel1.Size.Height + picrain5.Size.Height) { picrain5.Location = new Point(picrain5.Location.X, 0 - picrain5.Size.Height); } break; case 5: picrain6.Location = new Point(picrain6.Location.X, picrain6.Location.Y + rainspeede[i]); if (picrain6.Location.Y > panel1.Size.Height + picrain6.Size.Height) { picrain6.Location = new Point(picrain6.Location.X, 0 - picrain6.Size.Height); } break; case 6: picrain7.Location = new Point(picrain7.Location.X, picrain7.Location.Y + rainspeede[i]); if (picrain7.Location.Y > panel1.Size.Height + picrain7.Size.Height) { picrain7.Location = new Point(picrain7.Location.X, 0 - picrain7.Size.Height); } break; case 7: picrain8.Location = new Point(picrain8.Location.X, picrain8.Location.Y + rainspeede[i]); if (picrain8.Location.Y > panel1.Size.Height + picrain8.Size.Height) { picrain8.Location = new Point(picrain8.Location.X, 0 - picrain8.Size.Height); } break; default: break; }
حالا باید تایمر را در رویداد لود فرم استارت بزنیم.
private void LodingRain_Load(object sender, EventArgs e) { timer1.Start(); }
حالا یک تایمر دیگه به برنامه اضافه می کنیم و در رویداد تیکت تایمر، کد های زیر وارد می نماییم که باعث نمایش درصد افزایش پیشرفت و باعث می شود فرم اول بسته شود و فرم دوم باز شود.
initialpercentage += LodingSpeed; float percentage = initialpercentage / picWater.Height * 100; label1.Text=(int)percentage+" %"; if (percentage==100) { label1.Visible = false; label2.Visible = true; Form2 f2 = new Form2(); f2.Show(); this.Hide(); }
و در ادامه کدهای بالا، کد های پایین را اضاف می کنیم که باعث میشود آب به تدریج روی زمین ریخته شود.
panel2.Location = new Point(panel2.Location.X, panel2.Location.Y + LodingSpeed); if (panel2.Location.X>picWater.Location.Y+picWater.Height) { label1.Text = "100 %"; timer2.Stop(); }
و در پایان تایمر دوم رو در رویداد لود فرم استارت میزنیم.
private void LodingRain_Load(object sender, EventArgs e) { timer1.Start(); timer2.Start(); }
سعی کردیم تمام بخش های سورس کد Loading در سی شارپ رو مورد بررسی قرار دهیم و توضیح دهیم برای کدنویسی هر بخش از چه کدهایی استفاده شده است. در بخش پایین هم ویدیو اجرای این سورس کد رو قرار دادیم تا بدونید این سورس کد بعد از اجرا چه خروجی در اختیار شما قرار میدهد. برای دانلود سورس کد Loading به بخش پایین مراجعه کنید و آن را دانلود نمایید.
ویدیو اجرای سورس کد Loading در سی شارپ
سازنده برنامه: محمد مهدی غیبی
ایشون تازه چند روزه بسته آموزش برنامه نویسی سی شارپ از مجموعه سورس ایران تهیه کردند و خیلی سریع وارد فاز برنامه نویسی شدند و خدا رو شکر دومین چیزی که درست کردن سورس کد Loading در سی شارپ می باشد. قبلا ایشون برنامه مسیج باکس سفارشی در سی شارپ رو نوشته بودند.
توجه: اگر می خواهید متخصص سی شارپ شوید و نمیدونید از کجا شروع کنید پیشنهاد میکنم دوره مقدماتی آموزش برنامه نویسی سی شارپ رو به صورت رایگان دانلود کنید.