PDA

View Full Version : مشکل در LostFocus



eshaghi
دوشنبه 21 آبان 1386, 11:27 صبح
با عرض سلام
من در فرمی چند textbox برای ورود داده ها قرار داده ام و حرکت بین آنها از طریق tabindex است و اگر از textbox بدون ورود داده ها رد شویم با استفاده از کد زیر پیغام خطا می دهد.

private void fname_LostFocus(object sender, System.EventArgs e)
{
if (fname.Text=="")
{
MessageBox.Show("لطفا نام را وارد کنید","خطا");
fname.Focus();
}

}

اگر من وارد فرم شوم و بخواهم بدون اینکه داده ای وارد کنم خارج شوم با کلیک دکمه انصراف fname_LostFocus فعال می شود وپیغام می دهد و من باید داده ای وارد کنم که بتوانم با کلیک دکمه انصراف خارج شوم لطفا راهنمایی کنید

سار
دوشنبه 21 آبان 1386, 12:30 عصر
برای کنترل ولیدیش داده ها بهتر از ErrorProvider استفاده کنی، راهی رو که انتخاب کردی رو عوض کن.
البته ابزارهای بهتری هم هست که میتونی نمونه هاش رو تو لینک زیر ببنین.
http://www.codeproject.com/cs/miscctrl/#Validation+Controls
+ اینکه چرا از رخداد Leave استفاده نکردی؟
و اینکه کدت رو به شکل زیر اصلاح کن :

if (string.IsNullOrEmpty(fname.Text))
{
MessageBox.Show("لطفا نام را وارد کنید","خطا");
fname.Focus();
}

فکر کنم این بهتر باشه.

hassan razavi
دوشنبه 21 آبان 1386, 12:44 عصر
منهم با دوست عزیزمون جناب سار موافقم که از Error Provider استفاده کنید و در زمان Submit شدن فرمتون پیغامها رو نشان بدید .