کلاس 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 );
عالی بود واقعا مرسی از توضیح کاملتون
خواهش می کنم، لطف دارین
با سلام و تشکر از مطالب ارزنده شما… در دستورات زیر:
آیا DialogResult یک کلاس هست یا شمارش؟
متشکرم
سلام،لطف دارین… نوع شمارشی ه و پشت صحنش به صورت زیره
سلام جناب مهندس.
چه دستوری باید برای buttonبنویسم تا مثل data baseعملیات درون برنامه رو save یاdelete کنه؟؟
سلام، لینک زیر رو ببینید
w3-farsi
سلام جناب مهندس.
چطور میشه برای yes و no و cancel
دستور طراحی کرد؟
سلام، با استفاده از MessageBoxButtons.YesNoCancel
و اینم یه نمونه کدنویسی
سلام من خسته نباشید واقعا سایت بی نظیری داری.
سلام، نظر لطفتونه
سلام خسته نباشید دوستان عزیز و جناب ادمین :
ببخشید میشه این کتاب زبان فارسی آموزش سی شارپ رو برام بفرستید ممنون میشم بخدا هر چی دنبالش گشتم نتونستم پیداش کنم ممنون میشم به تل یا به ایمیلم بفرستید..
tel : OMid0111
Ahmadam.dg@gmail.com
سلام، تو لینک زیر نسخه کاملش هست
w3-farsi.com/product
سلام وقتتون بخیر من میخوام عمل سرچ رو بدون استفاده از دیتا گرید ویو نمایش بدم
برای مثال یک باتن باکس و یک تکست باکس بروی فرم قرار بدم و درون تکست باکس مقدار سرچ رو بگیره و زمانی که رو دکمه سرچ میزنم اطلاعات خواسته شده رو روی مسیج باکس نمایش بده
دیتابیسمم با اکسس ایجاد کردم
ممنون میشم راهنمایی کنید
سلام،
ممنون میشم سوالتونو تو بخش پرسش و پاسخ مطرح بفرمایید تا دوستان راهنماییتون کنن
w3-farsi.com/forum
سلام.شرمنده یادم رفت بگم میخوام متنم اینطوری باشه :سلام+txtname.text +به محیط c خوش آمدید. و اینکه چرا اگر قسمت آخر MessageBoxOptions.RtlReadingتنها بنویسم خطا میده؟در ضمن فایل مربوط به از راست نویسی رو دانلود کردم.
سلام.میخوام توی message box این جمله رو نشون بده(سلام.به محیط c خوش آمدید) ولی درست نمینویسه این طور چاپ میکنه : (خوش آمدید c سلام به محیط).چکار کنم درست بنویسه؟ممنون
سلام ، معلومه آموزش رو نخوندین
RtlReading واسه همینه
سلام مهندس با عرض تبریک سال نو ایا کتابتون نوشته هاش شبیه همین مطالب مسیج باکسی که تو سایتتونه هست یا نه و من میخوام بخرمش دقیقا مطالب اموزشی سی شارپ که در سایت گذاشتین ممنون میشم راهنمایی بفرمایید
سلام، بسیار ممنون،همچنین
بله، همین مطالب سایت رو به صورت کتاب درآوردم