آموزش محیط ویندوز فرم زبان #C

یادآوری: لازم به ذکر است که قبل از آشنایی با محیط ویندوز فرم، آموزش برنامه نویسی سی شارپ تحت کنسول که به صورت رایگان در اختیار شما قرار گرفته است را مطالعه فرمایید. در ادامه بحث به آشنایی مختصر با کنترل ها در سی شارپ نیز پرداخته می شود.

  • برای نوشتن برنامه سی شارپ تحت ویندوز فرم ابتدا Visual Stuidio را باز کرده:

آشنایی با محیط ویندوز فرم

  • برای ایجاد پروژه جدید دو راه داریم :
  1. از قسمت New project گزینه Create new project
  2. از منوی فایل گزینه New گزینه project

آشنایی با محیط ویندوز فرم

پنجره New project که باز شد (WindowsFormsApp(.NETframework را انتخاب می کنیم و در زبانه پایین قسمت Name نامی برای پروژه تعیین می کنیم و قسمت Location با استفاده از دکمه ی Browser مسیر پروژه را تعیین میکنیم .

دوتا گزینه در زیر دکمه ی Browser وجود دارد :

Create directory for solution : که این گزینه را تیک دار می کنیم در واقع Solution یک فایل فوق العاده کم حجم در 1 یا 2 بایت است که فقط آدرس فایل های سی شارپ را برای من نگهداری می کند.

که در نهایت دکمه OK را می زنیم و محیط سی شارپ را می بینیم.

وقتی محیط دیزاین سی شارپ را می بینیم مثل تمام برنامه های ویندوز یک نوار منو دارد و پایین نوار منو نوار ابزار قرار دارد که برای اضافه کردن نوار ابزار های بیشتر روی فضای خالی راست کلیک کرده و نوار ابزار مورد نظر را انتخاب می کنیم.

قسمت بعدی در این محیط پنجره فرم است که مهمترین پنجره برنامه می باشد برای اجرای برنامه از نوار ابزار گزینه ی Start یا کلید میانبر F5 را انتخاب میکنیم.شما به کمک این پنجره هست که آن برنامه ای را که نوشته اید را به کاربر غیر برنامه نویس می دهید.در واقع پنجره فرم یک رابطی است بین شما و مصرف کننده

در سمت چپ برنامه پنجره ای است بنام Toolbax که تمام اشیاء و ابزار هارا در این پنجره دسته بندی کرده است که برای استفاده از هر کنترل فقط لازم است آن را بکشیم و روی فرم قرار دهیم .

در سمت پایین برنامه پنجره ای هست بنام Error List که اگر برنامه خطایی داشته باشد را نمایش می دهد.

  • در سمت راست برنامه دو تا پنجره ی مهم هست :

Solution Explorer -1 : که فایل های برنامه را در بر دارد.

Properties-2 : که دارای دو بخش است:

  • Properties : فرم و هریک از اشیاء دارای یک سری مشخصه است که مشخصه ی هر یک از فرم ها و اشیا منحصر به فرد می باشد مثل افراد جامعه که هر یک از افراد بر اساس مشخصاتشون نسبت به هم دیگر متمایز می شوند مشخصه Name در هر یک از فرم ها و کنترل ها حکم کد ملی افراد را دارد.
  • Event (رویداد) : در واقع آن کاری که شی ء ما قرار است انجام دهد.

به بیان ساده، یک رویداد میتواند یک رخداد و یا عمل باشد، مانند کلیک با موس، فشار برروی یک دکمه از کیبورد، رویدادها، پیغام هایی هستند که بوسیله شیء برای نشان دادن یک رخداد از رویداد ارسال شده اند. رویدادها متدهای موثری برای فرآیند ارتباط هستند. رویدادها برای یک شیء بسیار کارآمد هستند، زیرا وضعیتی را فراهم می کند که برای کاربری که ممکن است از آن شیء استفاده کند تغییر کند.

پس اگر برروی یک دکمه در یک فرم توسط کاربر کلیک شود، درنتیجه یک رویداد رخ داده است. همینطور زمانی که یک کاربر درون یک TextBox متنی را می نویسد، کلیدهای کیبورد فشار داده می شوند و در نهایت یک رویداد رخ داده است.

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

برخی از خواص مهم فرم:

خاصیت Name: برای تعیین نام کنترل (فرم) به کار میرود. نام فرم از قانون نامگذاری متغیرها و کنترلها پیروی میکند. بعنوان مثال نام اولین فرم Form1 میباشد که با استفاده از خاصیت Name میتوان این نام را تغییر داد این خاصیت در داخل پرانتز قرار دارد تا در ابتدای لیست خواص قرار گیرد.

خاصیت  BackColor: برای تعیین رنگ زمینه فرم به کار میرود.

خاصیت  BackgroundImage: با این خاصیت میتوان تصویری را برای زمینه فرم انتخاب کرد. 

خاصیت CancelButton: دکمه ای را تعیین میکند که اگر کاربر کلید ESC را فشار دهد، دستورات مربوط به رویداد Click آن دکمه اجرا میشود.

خاصیت ContextMenu: نام منویی را تعیین میکند که اگر کاربر کلیک راست کرد باید ظاهر شود.

خاصیت  ControBoxتعیین میکند آیا در فرم دکمه های بیشینه، کمینه و بستن ظاهر شود یا خیر. اگر این خاصیت به False تغییر یابد هیچ یک از دکمه ها در فرم ظاهر نمیشوند.

خاصیت Cursor: شکل مکان نما را تعیین میکند. 29 نوع مکان نما وجود دارد میتوان با کلیک کردن یکی از آنها را انتخاب کرد.

خاصیت Enabled: تعیین میکند آیا فرم فعال است یا خیر. اگر فرم غیرفعال باشد (مقدار False این خاصیت) به هیچ رویدادی پاسخ نمی دهد.

خاصیت  Font: برای تعیین فونت به کار میرود.

خاصیت FormBorderStyle: نوع حاشیه فرم را تعیین میکند.

خاصیت KeyPreview: تعیین میکند آیا رویدادهای صفحه کلید را قبل از رویدادهای کنترلی که مکان نما در آن قرار دارد ، بپذیرد یا خیر.

خاصیت Language: زبان کار کردن کنترل را مشخص میکند.

خاصیت  Location: مکان قرار گرفتن کنترل را تعیین میکند.

خاصیت  MaximizeBox: تعیین میکند آیا دکمه بیشینه در عنوان فرم نمایش داده شود یا خیر. 

خاصیت MaximizeSize: با این خاصیت میتوان حداکثر اندازه فرم را تعیین کرد.

خاصیت Menu: نام منویی را تعیین میکند که باید در فرم نمایش داده شود.

خاصیت MinimizeBox: تعیین میکند آیا دکمه کمینه در عنوان فرم نمایش داده شود یا خیر. 

خاصیت  Opacity: ممیزان شفافیت فرم را تعیین میکند.

خاصیت MinimizeSize: با این خاصیت میتوان حداقل اندازه فرم را تعیین کرد.

خاصیت RightToLeft: جهت نمایش اطلاعات را مشخص میکند در حالت پیش فرض اطلاعات از چپ به راست نمایش داده میشوند.

خاصیت  ShowIcon: تعیین میکند آیا آیکن مربوط به منوی سیستمی فرم نمایش داده شود یا خیر.

خاصیت StarPosition: در هنگام شروع اجرای برنامه ، محل قرار گرفتن فرم را تعیین میکند. 

خاصیت Tag: شی ءای را تعیین میکند که اطلاعاتی راجع به کنترل را نگهداری میکند.

خاصیت Text: متنی را مشخص میکند که در نوار عنوان فرم ظاهر خواهد شد.

خاصیت WindowState: وضعیت پنجره فرم را تعیین میکند.

خاصیت AutoSizeMode: روش تغییر اندازه خودکار فرم را تعیین میکند.

خاصیت BackgroundImafeLayout: طرح تصویر زمینه را مشخص میکند.

خاصیت Anchor : یکی از خصوصیت های مهم فرم Anchor است که تمام اشیاء این مشخصه را دارا هستند  این خصوصیت موقعیت اشیاء را روی فرم زمانی که فرم تغییر اندازه می دهد مشخص می کند. برای مثال کنترل باتن را روی فرم قرار می دهیم:

آشنایی با محیط ویندوز فرم

اندازه فرم را تغییر می دهیم، مشاهده می کنیم که موقعیت کنترل باتن روی فرم تغییر نکرده است:

آشنایی با محیط ویندوز فرم

اگر بخواهیم موقعیت کنترل باتن با تغییر اندازه فرم تغییر کند،Anchor را روی None قرار می دهیم، حالا برنامه را اجرا می کنیم. اندازه فرم را تغییر می دهیم، مشاهده می کنیم که موقعیت کنترل باتن روی فرم تغییر کرد:

آشنایی با محیط ویندوز فرم

رویدادها:

هر فرم دارای تعدادی رویداد است که در شرایط خاصی رخ میدهند.  بعضی از رویدادهای مهم فرم عبارتنداز:

رویداد Activated: وقتی رخ میدهد که فرم فعال شود.

رویداد BackgroundColorChanged: وقتی رخ میدهد که رنگ زمینه فرم عوض شود.

رویداد  BackgroundImagedChanged: وقتی رخ میدهد که تصویر مربوط به زمینه فرم عوض شود.

رویداد KeyDown : وقتی رخ میدهد که کلیدی از صفحه کلید فشرده شود.

رویداد KeyPress : وقتی که کلیدی فشرده شود ، این رویداد  رخ میدهد. رویداد KeyPress قبل از رویداد KeyDown رخ میدهد.

رویداد KeyUp : وقتی که کلید فشرده شده رها شود ، این رویداد  رخ میدهد.این رویداد بعد از رویدادهای KeyPress و KeyDown رخ میدهد.

رویداد Leave : وقتی رخ میدهد که مکان نما کنترلی را ترک کند.

رویداد Load : وقتی کنترلی بار میشود، این رویداد رخ میدهد.

رویداد RightToLeft : وقتی رخ میدهد که مقدار خاصیت RightToLeft تغییر کند.

رویداد TextChanged : وقتی رخ میدهد که متن کنترل تغییر کند.

برای مثال:

کنترل Button را روی فرم قرار می دهیم

آشنایی با محیط ویندوز فرم

اگر روی رویداد Click باتن دابل کلیک کنید ایونت کلیک باتن را واسه ی شما باز می کند

آشنایی با محیط ویندوز فرم الان می توانیم کد هایتان را داخل رویداد button1_Click بنویسید ولی وقتی برنامه را اجرا می کنید به هیچ عنوان کدهای شما اجرا نمی شوند مگر اینکه روی همین دکمه کلیک کنید .

 با یک مثال ساده شروع می کنیم برنامه ای بنویسید که با کلیک بر روی button پیغامی روی کنترل لیبل ظاهر شود ؟

آشنایی با محیط ویندوز فرم

گفتیم که هر یک از اشیاء دارای خصوصیات منحصر به فرد می باشند یکی از خصوصیات مهم Name است که برای هر یک از اشیا باید یک نام در نظر بگیریم . شاید در نگاه اول دارای اهمیت بالایی نباشه، اما تجربه نشون داده که در پروژه‌های بزرگ که با کمک چندین مجموعه به انجام میرسه نامگذاری صحیح و اصولی که از یکسری قواعد کلی و مناسب پیروی میکنه میتونه به پیشبرد اهداف و مدیریت راحتتر برنامه کمک بسیاری بکنه.

در این روش برای هر نوع شی موجود یک پیشوند درنظر گرفته می‌شود تا از روی نام شی بتوان به نوع آن پی برد.

برای مثال:

textbox –> txt

button –> btn

label –> lbl

به فرض در اینجا Name کنترل باتن را btnClick و Text آن را EventClick انتخاب می کنیم

آشنایی با محیط ویندوز فرم

رویداد کلیک باتن را برای نوشتن کدهایمان انتخاب می کنیم دو راه برای انتخاب رویداد کلیک وجود دارد :

  1. از پنجره سمت چپ برنامه پنجره قسمت properties کلیک 2- با دابل کلیک بر روی شی Button

آشنایی با محیط ویندوز فرم

الان می رویم سراغ نوشتن کدهایمان در ویندوز فرم سی شارپ کد ها حتما باید داخل { } نوشته شوند.

انتهای هر دستور هم باید علامت ; گذاشته شود. آشنایی با محیط ویندوز فرم

برنامه را اجرا می کنیم پنجره فرم اجرا می شود

آشنایی با محیط ویندوز فرم

تا بر روی کنترل باتن کلیک نکنیم هیچ متنی به جای label قرار نمی گیرد به محضی که روی EventClick کلیک کنم نتیجه به شکل زیر نمایش داده می شود:

آشنایی با محیط ویندوز فرم

کنترل های در سی شارپ (ToolBox):

در این قسمت، فقط شرح مختصری از کنترل ها در سی شارپ (موجود در گروه Common Controls) را ارائه خواهیم کرد. شرح مختصری از عملکرد هر کدام به درک وظیفه ی آنها کمک میکند.

کنترل Pointer : میتواند بر روی کنترلهای موجود در فرم اثر بگذارد و آنها را انتخاب کند.

کنترل Button : کنترل دکمه فرمان را به فرم اضافه میکند. چنانچه کاربر روی این کنترل کلیک کند، میتواند بعضی فرمانها را اجرا کند.

کنترل CheckBox : گزینه ای را به فرم اضافه میکند که انتخاب یا عدم انتخاب آن به عهده کاربر است. این کنترل معمولا در مواردی به کار میرود که دو حالت انتخاب وجود دارد.(توضیحات بیشتر در جلسه دهم)

کنترل CheckedListBox: لیستی از چند کنترل CheckBox است که یک یا چند گزینه را میتوان انتخاب کرد.(توضیحات بیشتر در جلسه دهم)

کنترل ComboBox : ترکیبی از یک کنترل TextBox و یک کادر ListBox است. در این کنترل میتوان متن جدیدی را وارد یا گزینه ای از لیست را انتخاب کرد.(توضیحات بیشتر در آموزش دوازدهم)

کنترل DateTimePicker : به کاربر اجازه میدهدتا تاریخ و زمان را انتخاب کرده با فرمت خاصی نمایش دهد.

کنترل Label : برای نمایش متن غیر قابل ویرایش به کار میرود.

کنترل LinkLabel : پیوندی به فرم اضافه میکند که برای اتصال به سایتهای اینترنت مورد استفاده قرار میگیرد.

کنترل ListBox : کنترلی را به فرم اضافه میکند که برای نمایش چند گزینه و انتخاب یک یا چند گزینه به کار میرود.(توضیحات بیشتر در آموزش دوازدهم)

کنترل ListView : مجموعه ای از اقلام را نشان میدهدکه میتواند با استفاده از چهار نمای مختلف ظاهر شود.

کنترل MaskedTextBox : برای دریافت اطلاعات با فرمت های خاص به کار میرود.

کنترل MonthCalender : برای نمایش تقویم به کار میرود.

کنترل NotifyIcon : برای ایجاد برنامه ای به کار میرود که در پس زمینه سیستم اجرا میشود، مثل برنامه های حفاظت در برابر ویروسها و کنترل  درایوها.(توضیحات بیشتر در آموزش پانزدهم)

کنترل NumericUpDown : برای نمایش مقدار عددی با قابلیت افزایش و کاهش به کار میرود. برای افزایش یا کاهش دکمه هادر این کنترل نیز تعبیه شده است.

کنترل PictureBox : کادری برای نمایش تصاویر اضافه میکند.(توضیحات بیشتر در جلسه دهم)

کنترل ProgressBar : کنترلی است که درصد پیشرفت کار را بیان میکند.(توضیحات بیشتر در آموزش پانزدهم)

کنترل RadioButton : گزینه ای را به فرم اضافه میکند که کاربر میتواند آنرا انتخاب کند. اگر چند کنترل RadioButton در یک گروه قرار گیرند، فقط یک گزینه را میتوان انتخاب کرد.(توضیحات بیشتر در جلسه دهم)

کنترل RichTextBox : این کنترل همانند MaskedTextBox عمل میکند. با این تفاوت که این کنترل قابلیت دریافت اطلاعات چند سطری را دارد.

کنترل TextBox : برای دریافت و ویرایش متن به کار میرود.

کنترل ToolTip : کنترلی است که راهنمای کوتاه را برای کنترلهای روی فرم تعیین میکند.

کنترل TreeView : برای ایجاد و نمایش ساختار درختی به کار میرود.

کنترل WebBrowser : برای نمایش صفحات وب به کار میرود.

امیدوارم تا اینجای آموزش سی شارپ تحت محیط ویندوز فرم و کنترل ها در سی شارپ راضی بوده باشید. در جلسه بعد با آموزش نوشتن برنامه ماشین حساب ساده با ما همراه باشید.

به این مقاله چند تا ستاره میدی؟
[تعداد رای: 109 امتیاز: 4.3]