ويندوز فرم
ويندوز فرم يا همان فرمها، پنجرههایی هستند که شما در برنامههای تحت ويندوز میبینید. شما میتوانید در يک برنامه بيش از يک فرم داشته باشيد. هر فرم از خواص و متدهاي کلاس System.Windows.Forms.Form ارث میبرد. فضاي نام System.Windows.Forms.Form تمامي اجزايي را که شما براي ساخت فرمها و کنترلها نياز داريد را، در بر دارد. در شکل زير شما نام قسمتهای مختلف فرم را مشاهده میکنید.
در قسمت بالا، نوار عنوان (Caption Bar) قرار دارد. نوار عنوان از يک آيکن (Icon)، يک عنوان (Caption)، و يک جعبهی کنترل (Control Box) تشکيل شده است. جعبهی کنترل ( Control Box) دکمههای کوچکنمايي (Minimizing)، بزرگنمايي (Maxmizing)، و بستن (Closing) را در بر دارد. قسمت داخلي يا همان Client Area مکاني است که، ما کنترلها را در آن قرار میدهیم. قسمت حاشيه يا Border که شامل قسمت Caption Bar نيز میشود، به شما اجازه میدهد که سايز فرم را تغيير دهيد. در جدول زير برخي از خواص مفيد کلاس فرم را مشاهده میکنید:
خاصيت | توضيح | |
AcceptButton | نام يک دکمه در اين خصوصيت تعيين میشود و هرگاه دکمهی Enter فشار داده شود، آن دکمه عمل خواهد کرد. | |
CancelButton | در اين خصوصيت نيز مانند خصوصيت قبل نام يک دکمه در آن قرار میگیرد و با زدن دکمه Esc آن دکمه عمل میکند. | |
ControlBox | اين خصوصيت مشخص میکند که قسمت جعبهی کنترل (Control Box) نمايش داده شود يا خير. جعبهی کنترل (Control Box) قسمتي از فرم است که دکمههای کوچکنمايي، بزرگنمايي و بستن فرم در آن قرار میگیرند. | |
DesktopBounds | به وسیلهی اين خاصيت میتوانید به سايز و محل قرار گيري فرم در ميز کار دسترسي داشته باشيد. | |
Font | نوع قلمي که در فرم مورد استفاده قرار میگیرد. تمامي کنترلها از اين خاصيت استفاده میکند. | |
FormBorderStyle | اين خاصيت نوع حاشیهی فرم را مشخص میکند. | |
HelpButton | يک دکمهی Help قبل از دکمهی Close بالاي فرم قرار میدهد (دکمههای Minimize و Maximize غير فعال میشوند). | |
Icon | اين خاصيت Icon فرم را مشخص میکند (آيکني که در قسمت Caption Bar وجود دارد). | |
Location | مختصات فرم را در صفحهی نمايش مشخص میکند. | |
MainMenuStrip | يک منو را مشخص میکند تا در فرم به عنوان منوي اصلي استفاده شود. | |
MaximizeBox | مشخص میکند که دکمهی Maximize در بالاي فرم نمايش داده شود يا خير. | |
MinimizeBox | مشخص میکند که دکمهی Maximize در بالاي فرم نمايش داده شود يا خير. | |
Name | نام فرم که به عنوان مرجع براي استفاده در محيط کد نويسي انتخاب میشود. | |
ShowIcon | مشخص میکند که آيکن فرم نمايش داده شود يا خير. | |
Size | سايز فرم را مشخص میکند. | |
StartPosition | اين خاصيت محل نمايش فرم در صفحه را مشخص میکند. | |
Text | اين خاصيت متني را که در قسمت Caption Bar قرار میگیرد را مشخص میکند. |
در اين قسمت برخي از متدهاي مهم کلاس فرم را مشاهده میکنید.
متد | توضيح | |
Activate() | Focus را به فرم منتقل و فرم را فعال میکند . | |
CenterToScreen() | فرم را به وسط صفحه منتقل میکند. | |
Close() | فرم را میبندد. | |
Hide() | فرم جاري را پنهان میکند. | |
OnLoad() | وقتي که رويداد Load رخ میدهد اين متد اجرا میشود. | |
Show() | فرم را نمايش میدهد. (آشکار میسازد) |
در اين قسمت رویدادهای مربوط به فرم را مشاهده میکنید.
رويداد | توضيح | |
Activated | زماني رخ میدهد که فرم فعال باشد. | |
Click | زماني رخ میدهد که بر روي فرم کليک میشود. | |
Deactivated | اين رويداد زماني رخ میدهد که فرم حالت Focus خود را از دست بدهد. | |
FormClosed | زماني رخ میدهد که فرم بسته شود. | |
FormClosing | زماني رخ میدهد که فرم در حال بسته شدن است. به شما اجازه میدهد براي بسته شدن فرم مکث کنيد. | |
HelpButtonClicked | زماني رخ میدهد که بر روي دکمهی Help کليک شود. | |
KeyPress | اين رويداد زماني رخ میدهد که يک کليد بر روي صفحه کليد فشرده شود. | |
Load | زماني رخ میدهد که بارگذاري فرم تمام شده است ولي هنوز نمايش داده نشده است. | |
MenuComplete | زماني که يک منو از فرم حالت Focus خود را از دست میدهد. | |
MenuStart | زماني که بر روي يک منو Focus میشود. | |
ResizeBegin | زماني رخ میدهد که فرم شروع به تغيير سايز میکند. | |
ResizeEnd | زماني رخ میدهد که تغيير سايز فرم تمام میشود. | |
Shown | زماني رخ میدهد که فرم براي اولين بار نمايش داده میشود. |
کلاس Form، فرزند کلاس اصلي System.Windows.Forms.Control است بنابراين متدها و خواص تعريف شدهی اين کلاس توسط کلاس Form ارث بري میشوند.
تغيير دادن جعبهی کنترل (Control Box)
از خاصيت Control Box براي پنهان کردن و يا نمايش دادن قسمت جعبهی کنترل (Control Box) استفاده میشود. اين خاصيت وقتي که شما میخواهید دکمههای Minimize و Maximize کنترل را غير فعال کنيد و يا از طريق کد نويسي فرم را ببنيد، بسيار کار آمد میشود. در تصوير زير مقدار خاصيت ControlBox برابر False قرار گرفته شده است.
اگر شما میخواهید يکي از دکمههای Minimize يا Maximize را غير فعال کنيد بايد از خواص MinimizeBox و MaximizeBox استفاده کنيد و مقدار آنها را به False تغيير دهيد.
در فرم بالا دکمههای Maximize و Minimize مخفي شدهاند. متاسفانه شما نمیتوانید فقط دکمه Close را غير فعال کنيد.
تغيير حالت حاشیهی فرم
شما میتوانید حالت حاشیهی فرم را تغيير دهيد. براي مثال، شما میخواهید که کاربر قادر به تغيير سايز فرم نباشد، در صورتيکه در حالت پيشفرض حاشیهی فرم به کاربر اجازهی اينکار را میدهد. میتوانیم مقادير مختلفي از نوع شمارشي System.Windows.Forms.FormBorderStyle را به خاصيت FormBorderStyle بدهيم.
مقدار | توضيح | |
None | فرم هيچ حاشیهای ندارد. | |
FixedSingle | فرم يک حاشیهی خطي بدون قابليت تغيير سايز را دارد. | |
Fixed3D | فرم يک حاشیهی سه بعدي بدون قابليت تغيير سايز را دارد. | |
FixedDialog | در اين حالت يک خط ضخيم دور فرم قرار دارد و سايز فرم قابل تغيير نيست، همچنين دکمههای minimize و Maximize در آن وجود ندارند. | |
Sizable | حالت پيشفرض است. در اين حالت سايز فرم قابل تغيير است. | |
FixedToolWindow | فرم داراي حاشیهای است که سايز آن غير قابل تغيير میباشد و فقط داراي دکمهی Close است. اين حالت براي پنجرههای ابزار بکار میرود. مانند پنجرهی ابزار در Office 2003 | |
SizableToolWindow | دقیقاً مانند FixedToolWindow است ولي قابليت تغيير سايز دارد. |
تصاوير زير مربوط به حالات مختلف خاصيت FormBorderStyle است.
None
FixedSingle
Fixed3D
FixedDialog
Sizable
FixedToolWindow
SizableToolWindow
آيکن هاي فرم
از خاصيت Icon براي تغيير آيکن بالاي فرم استفاده میشود. بر روي دکمهی Browse در کنار خاصيت Icon در پنجرهی Properties کليک کنيد و سپس فايلي را با پسوند ico. انتخاب کنيد (ico. پسوند فايلهاي تصويري آيکن است). خاصيت ShowIcon به شما اجازه میدهد که، آيکن را در نوار عنوان فرم (caption bar) پنهان يا آشکار کنيد.
دکمههای Accept و Cancel
شما میتوانید يک دکمه را به فرم اضافه کنيد که يکي از دو نوع Accept يا Cancel باشد. براي اين کار از خواص AcceptButton و CancelButton استفاده میشود. اگر دکمهی شما از نوع Accept باشد، زماني که فرم فعال باشد و کاربر دکمهی Enter را فشار دهد، آنگاه رويداد Click دکمه رخ میدهد. دکمهی Cancel زماني رخ میدهد که دکمهی Escape بر روي صفحه کليد فشرده شود. فقط به پنجره Properties رفته، خاصيت مورد نظر را پيدا کنيد و بر روي نوار کرکرهای آن کليک کنيد تا نام تمامي دکمههای فرم براي شما نمايش داده شود. دکمه مورد نظر را انتخاب کنيد. براي مثال شما میخواهید يک فرم ورود (login) را ايجاد کنيد. شما میتوانید دکمهی ورود را براي خاصيت AcceptButton انتخاب کنيد. در اينصورت به آساني، وقتي کاربر پسورد خود را وارد کرد کليد Enter را براي ورود میفشارد. براي اين خاصيت موارد زيادي وجود دارد که در درسهای آينده به آنها میپردازیم.
سلام خسته نباشید آموزش بسیار خوبی بود فقط یک سوال داشتم من یک فرم دارم که دورش خالیه ولی نمیشه تو صفحه درگ و دراپ کردش راهی هست که درستش کنم؟
سلام، مرسی
این لینک رو ببیند
https://www.w3-farsi.com/posts/8301/prevent-the-form-from-moving-during-program-execution-csharp/
سلام ببخشید نوشتید که fixedDialog کادر minimize maximize وجود نداره در صورتی که وجود داره و کار هم میکنه
ای بابا نزدع کجا باید فرم درست کنیم اه
ایجاد یک برنامه ویندوزی ساده
سلام
بنده یک فرم اصلی دارم، که از طریق منو میتوان فرم های دیگری را باز کرد،
1- چطور میتوانم چند فرم را همزمان از فرم اصلیم باز کنم
2- وقتی فرم فرزند را مینیمایز میکنم، فرم اصلی یا والد ،مینیمایز نشود
سلام، اول لینک زیر رو ببنید، شاید به دردتون بخوره
MDI Form
اگه آموزش بالا به دردتون بخورد، سوالتونو تو بخش پرسش و پاسخ مطرح بفرمایید