PDA

View Full Version : سوال: ارتباط کلاس با فرم اصلی



mehran788
چهارشنبه 17 خرداد 1391, 12:46 عصر
با سلام و خسته نباشید.
من یک کلاس ایجاد کرده ام.در فرم اصلی داده ای را از تکست باکس می گیرم و آن را در اخیار کلاس می گذارم تا اعمال مورد نیاز را بر روی آن داده انجام دهد.در کلاس ابتدا صحت داده ورودیرا چک میکنم.حال اگر در این عمل خطایی وجود داشته باشد چگونه آن را به فرم اصلی خبر دهم.یعنی اگرداده ورودی صحیح نباشد چگونه کاربر را از آن مطلع کنم.چون نه messegebox در کلاس وجود دارد و نه غیره.
منون.با تشکر.

behzadkhatari
چهارشنبه 17 خرداد 1391, 13:08 عصر
خوب شما مطمئنا از تابع استفاده کردید. کافیه نوع تابع رو boolean قرار بدید و بعد از چک کردن اگه صحیح بود true و در غیر اینصورت false برگردونه. حالا تو فرم اصلیتون چک کنید اگه خروجی تابع false بود پیغام رو نمایش بده

m.akar
چهارشنبه 17 خرداد 1391, 16:48 عصر
شما می توانید یک اکسپشن در کلاس خود هنگامی که صحت اطلاعات درست نیست ایجاد کنید. برای این اکسپشن پیغام مورد نیاز خود را قرار دهید. در کد فرم خود بر روی خطی که اطلاعات textbox را برای کلاس می فرستید یک try catch قرار دهید و در catch پیغام ارسال شده توسط کلاس خود را توسط messageBox به کاربر خود اطلاع دهید.

برای نمونه در کلاس خود اینگونه اکسپشن وارد کنید:
if (Value == null)
{
throw new SystemException("اطلاعات وارد شده معتبر نمی باشد");
}


در کد فرم خود نیز اینگونه می توانید این اکسپشن تولیدی را به کاربر نمایش دهید:

classA a = new classA();
try
{
a.SetValue(Value);
}
catch(SystemException ex)
{
MessageBox.Show(ex.Message);
}
به این صورت یک پیغام با متن مورد نظر شما برای کاربر نمایش داده می شود.