کلاس MessageBox
System.Windows.Forms.MessageBox يک کلاس استاتيک است که از آن براي نشان دادن يک پيغام فوري، اطلاعات و يا يک هشدار به کاربران استفاده میشود. براي نشان دادن يک پيغام به راحتي میتوان از متد ()Show کلاس MessageBox استفاده نماييد. سادهترین حالت متد ()Show اين است که يک رشته متني را به عنوان آرگومان قبول میکند و آن را نمايش میدهد.
MessageBox.Show("Hello World!");
شما همچنين میتوانید به راحتي و با استفاده از يکي ديگر از سربارگذاريهاي متد ()Show يک عنوان براي جعبه پيامتان بگذاريد.
MessageBox.Show("Hello World!", "A Message");
اگر نخواهيد از دکمه OK پيشفرض جعبه متن استفاده کنيد میتوانید با استفاده از System.Windows.Forms.MessageBoxButtons آنرا تغيير دهيد.
MessageBox.Show("Hello World!", "A Message", MessageBoxButtons.OKCancel);
جدول زير اعضاي MessageBoxButtons را نشان میدهد :
عضو | دکمههایی که نمايش میدهد |
AbortRetryIgnore | Abort, Retry, Ignore |
OK | OK |
OKCancel | OK, Cancel |
RetryCancel | Retry, Cancel |
YesNo | Yes, No |
YesNoCancel | Yes, No, Cancel |
متد ()Show يک مقدار از نوع شمارشی، System.Windows.Forms.DialogResult را بر میگرداند. تشخيص اينکه چه دکمهای توسط شما در جعبه متن فشار داده میشود مفيد است. به عنوان مثال اگر بر روي دکمه Yes در جعبه پيام کليک کنيد، متد ()Show مقدار DialogResult.Yes را بر میگرداند.
DialogResult result; result = MessageBox.Show("What is your choice?", "A Message", MessageBoxButtons.OKCancel); if (result == DialogResult.Yes) { //You pressed the Yes button } if (result == DialogResult.No) { //You pressed the No button }
لطفاً به اين نکته توجه کنيد که کلاس Form يک خاصيت DialogResult دارد و آن را با System.Windows.Forms.DialogResult اشتباه نگيريد. میتوان به جعبه پيام براي نشان دادن معني و مفهوم آن يک آيکون اضافه کرد. میتوانید اين کار را با استفاده از نوع شمارشي MessageBoxIcon انجام دهيد.
MessageBox.Show("Hello World!", "A Message", MessageBoxButtons.OKCancel, MessageBoxIcon.Information);
در جدول زير انواع آيکونها و کاربرد آنها در جعبه پيام نشان داده شده است :
آيکون | عضو | استفاده |
Asterisk Information |
براي نشان دادن اطلاعات به کاربر | |
Error Hand Stop |
براي نشان دادن يک پيغام خطا | |
Exclamation Warning |
براي نشان دادن يک هشدار | |
Question | براي سؤال کردن از کاربر |
اگر بخواهيد که جعبه متن هيچ گونه آيکوني نداشته باشد میتوانید از MessageBoxIcon.None استفاده کنيد. نوع شمارشي MessageBoxDefaultButton دکمه پيشفرضي را که هنگام فشرده شدن دکمه Enter بايد عمل کند را تعيين میکند و فقط داراي سه عضو است Button2 ،Button1 و Button3. به عنوان مثال در جعبه متني که داراي دکمههای OK و Cancel است استفاده از MessageBoxDefaultButton.Button1 باعث میشود که دکمه OK به صورت پيشفرض درآيد. يعني هنگامي که جعبه متن نشان داده شد با زدن دکمه Enter، دکمه OK فشرده میشود :
MessageBox.Show( "Hello World!", "A Message", MessageBoxButtons.OKCancel, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1 );
همانطور که در کد بالا مشاهده میکنید رنگ دکمه OK نسبت به دکمه Cancel متفاوت است که نشان دهنده پیشفرض بودن این دکمه است. متد ()Show دارای پارامتر دیگری از نوع شمارشی MessageBoxOptions است که دارای مقادیر مختلفی است. یکی از این مقادیر RtlReading بوده که از آن برای راست به چپ کردن پیغام استفاده میشود :
MessageBox.Show( "Hello World!", "A Message", MessageBoxButtons.OKCancel, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, MessageBoxOptions.RtlReading );
میشه درباره ifوeles توضیح بدید
تشکر عالی بود
سلام … در ساخت یک برنامه ..از دستور message box buttons.yesnoاستفاده کردم که از کاربر میپرسه که شخص مورد نظر رو حذف کنم یا نه … وقتی yes رو میزنیم هم پاک میکنه و همینطور وقتی noرو هم میزنیم پاک میکنه
دستورات ب شکل زیر میباشد
سلام ، نمیشه شخصی سازیش کرد ؟
مثلا تو مسیج باکس فونتشو عوض کنی
سلام
سوالتونو تو بخش پرسش و پاسخ مطرح بفرمایید
سلام
اطلاعات واقعا مفیدی ارائه کردین ، انشالله همیشه موفق باشین.
سلام خیلی متن خوبی بود.
فقط یک سوال اینکه میشه شکل و سایز متن داخل MessageBox رو تغییر داد؟
سلام، مرسی
خیر، باید از یک کلاس سفارشی استفاده کنید. لینک زیر رو ببینید:
https://www.codeproject.com/Articles/601900/FlexibleMessageBox-A-flexible-replacement-for-the
سلام و درود استاد
سوالی که بنده داشتم در رابطه با تغییر آیکون نمایشی در messeagbox هستش،اون آیکونی که خودش پیش فرض میذاره رو تغییر بدم منظورم آیکون های این قسمته ——> MessageBoxIcon.Information,
سلام، سوالتونو تو بخش پرسش و پاسخ مطرح بفرمایید
w3-farsi.com/forum