MessageBox در سی شارپ
جهت دانلود ویدیوی آموزشی با کیفیت Full HD روی لینک زیر کلیک کنید .
حجم فایل : 28.9 مگابایت
مدت زمان : 09:16
در آپارات نیز می توانید به فایل های بالا با کیفیت HD دسترسی داشته باشید.
مسیج باکس MessageBox یا همان کادر محاوره ای برای هشدار دادن یا حق انتخاب دادن به کاربر ، به کار گرفته می شود . برای مثال هنگام حذف یک فایل به کاربر هشدار داده می شود آیا مطمئن هستید که فایل موزیک را حذف کنید ؟ اوکی - کنسل
برای مثال قصد داریم وقتی روی یک دکمه کلیک کردیم یک پیغام برای من نمایش داده شود . برای اینکار یک باتن از جعبه ابزار یا همون تول باکس درون فرم قرار می دهیم . سپس در رویداد کلیک باتن کد زیر را تایپ می کنیم .
MessageBox.Show("hello","sms");
با اجرای دستور بالا شاهد پیغام زیر خواهیم بود.

همانطور که در تصویر بالا دید مقدار اول hello به عنوان متن پیغام و عبارت دوم sms در قسمت عنوان قرار گرفته است. اما قصد دارم غیر از دکمه ی اوکی ، دکمه ی کنسل نیز داشته باشه برای اینکار از کد زیر استفاده می کنیم .
MessageBox.Show("hello","sms",MessageBoxButtons.OKCancel);
عبارت MessageBoxButtons را نوشته و سپس نقطه را می زنیم از بین لیستی که نمایش داده می شود گزینه ی اوکی کنسل را انتخاب می کنیم . خیلی بهتر میشه اگر آیکن متناسب با اون پیغام نمایش داده بشه برای اینکار بعد از عبارت بالا ، مقدار زیر را اضافه می کنیم
MessageBoxIcon.Question
پس عملا می نویسیم .
MessageBox.Show("hello","sms",MessageBoxButtons.OKCancel,MessageBoxIcon.Question);
قصدا دارم به صورت پیش فرض گزینه ی کنسل انتخاب شده باشد پس در انتهای کد بالا قبل از پرانتز بسته یک , کاما انگلیسی قرار می دهیم و سپس مقدار زیر را وارد می کنیم .
MessageBoxDefaultButton.Button2
پس عملا می نویسیم
MessageBox.Show("hello","sms",MessageBoxButtons.OKCancel,
MessageBoxIcon.Question,MessageBoxDefaultButton.Button2);
در نهایت شاهد تصویر زیر خواهیم بود

برای اینکه متوجه شویم کاربر چه دکمه ای را انتخاب کرده است و این موضوع قدری قابل فهم تر شود یک لیبل به فرم اضافه می کنم .
و از دستور شرطی استفاده می کنیم .
private void button1_Click(object sender, EventArgs e)
{
if(MessageBox.Show("hello","sms",MessageBoxButtons.OKCancel,
MessageBoxIcon.Question,MessageBoxDefaultButton.Button2) == DialogResult.OK)
{
label1.Text = "ok";
}
else
{
label1.Text = "cancel";
}
}
در دستور بالا از DialogResult.OK جهت بررسی اینکه کاربر اوکی را انتخاب کرده ، استفاده می کنیم .
که پس از انتخاب اوکی مقدار لیبل برابر با ok خواهد بود .
قصد داریم که به جای دکمه ی اوکی و کنسل از سه دکمه ی بله ، خیر و کنسل استفاده کنیم پس عملا به جای MessageBoxButtons.OKCancel باید بنویسیم MessageBoxButtons.YesNoCancel
برای اینکه متوجه شویم کاربر چه دکمه ای را انتخاب کرده است دیگه نمی تونیم از دستور شرطی استفاده کنیم چون به ازاء هر بار چک کردن شرط ، پیغام مسیج باکس نمایش داده می شود پس بایستی متغییری از نوع DialogResult انتخاب کنیم . پس عملا می نویسیم
private void button1_Click(object sender, EventArgs e)
{
// متغیری از نوع دیالوگ ریزالت با نام اس تی اضاف می کنیم
DialogResult st;
// مقدار مسیج باکس هر چه باشد را درون متغیر اس تی می ریزیم
// یعنی اگر کاربر دکمه ی بلی را انتخاب کرد ، مقدار بلی درون اس تی قرار می گیرد
// اگر خیر را انتخاب کرد مقدار خیر درون اس تی قرار می گیرد
st = MessageBox.Show("hello", "sms", MessageBoxButtons.YesNoCancel,
MessageBoxIcon.Question, MessageBoxDefaultButton.Button2);
switch (st)
{
case DialogResult.Cancel:label1.Text = "Cancel";
break;
case DialogResult.Yes:label1.Text = "yes";
break;
case DialogResult.No:label1.Text = "No";
break;
}
}
