PDA

View Full Version : حرفه ای: نوشته شدن خطا یا پیام روی فرم برنامه



oliya24
شنبه 16 مهر 1390, 22:37 عصر
سلام و خسته نباشید
دوستان چطور میشه به جای اینکه خطایی رو تو مسج باکس به کاربر نشون بدیم اون خطا رو روی فرم به کاربر نشون بدیم
؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟؟
ممنونم:لبخند:

minaforotan
شنبه 16 مهر 1390, 23:16 عصر
:متفکر:
خوب یه فرم باید ساخت دیگه توش یه لیبل با پیامت با هر دکمه ای که میخوای هر جا که msgbox رو فراخوانی کردی به جاش این فرم رو نشون بده(اگه سوالت رو درست متوجه نشدم شرمنده)

Hossis
شنبه 16 مهر 1390, 23:44 عصر
صورت عملی آن به این شکل است:
Try
'Your code here
Catch ex As Exception
label1.text=ex.Message
End Try

oliya24
شنبه 16 مهر 1390, 23:47 عصر
ببین دوست من خودم این کار رو کردم یه لیبل گذاشتم و یه مسج رو از تو یه ماژول توش فراخوانی کردم خوب کار داد ولی یه سری مشکل داشت مثلا من میخوام که وقتی فرم میاد بالا کاربر لیبل رو نبینه یعنی مخفی باشه خاصیت مریوطه رو فالس کردم و وقتی بر نامه رو تست کردم اصلا چیزی نمایش داده نمیشد
2:من یه پیام طولانی رو ریختم تو لیبل و تغییر اندازه داد به طوری که باید فرم رو بزرگتر میکردم که من نمیخوام این 2 مشکل رو داشته باشم
حالا شما میگید برای این مشکلات چه کنم اگر راه حلی دارید بگید و به نظر خودم در خصوص ممشکل دوم شاید بشه کلاس نوشت ؟؟؟ به نظر شما جواب میده؟؟

oliya24
شنبه 16 مهر 1390, 23:50 عصر
صورت عملی آن به این شکل است:
Try
'Your code here
Catch ex As Exception
label1.text=ex.Message
End Try
میشه یه مثال عملی تر بزنید منظورم اینه که قظیه رو بازتر کنید

Hossis
شنبه 16 مهر 1390, 23:59 عصر
ببین دوست من خودم این کار رو کردم یه لیبل گذاشتم و یه مسج رو از تو یه ماژول توش فراخوانی کردم خوب کار داد ولی یه سری مشکل داشت مثلا من میخوام که وقتی فرم میاد بالا کاربر لیبل رو نبینه یعنی مخفی باشه خاصیت مریوطه رو فالس کردم و وقتی بر نامه رو تست کردم اصلا چیزی نمایش داده نمیشد
2:من یه پیام طولانی رو ریختم تو لیبل و تغییر اندازه داد به طوری که باید فرم رو بزرگتر میکردم که من نمیخوام این 2 مشکل رو داشته باشم
حالا شما میگید برای این مشکلات چه کنم اگر راه حلی دارید بگید و به نظر خودم در خصوص ممشکل دوم شاید بشه کلاس نوشت ؟؟؟ به نظر شما جواب میده؟؟
یعنی چه که وقتی فرم بالا بیاد،‌ لیبل دیده نشه؟؟ پس کی قراره دیده بشه؟؟ (می تونید بعد از پایان لود فرم، اون رو نمایان کنید ، برای این منظور، از رویداد shown فرم استفاده کنید .)
اما اشکال دوم، می تونید یا با تغییر اندازه لیبل، اندازه فرم را هم بیشتر کنید و یا متن را توی تکست باکس نمایش بدید تا اسکرول داشته باشه
و یا خاصیت اتواسکرول فرم رو فعال کنید (البته من این رو امتحان نکردم)

Hossis
یک شنبه 17 مهر 1390, 00:01 صبح
میشه یه مثال عملی تر بزنید منظورم اینه که قظیه رو بازتر کنید

این کد خیلی واضح بود، در قسمت سبز رنگ(بعد از Try ) کدهای مورد نظر خود را می نویسید . اگر این کد ها خطا دادند،‌ خط قبل از End try اجرا می شود و پیام خطا در لیبل نمایش داده می شود.

oliya24
یک شنبه 17 مهر 1390, 00:08 صبح
یعنی چه که وقتی فرم بالا بیاد،‌ لیبل دیده نشه؟؟ پس کی قراره دیده بشه؟؟ (می تونید بعد از پایان لود فرم، اون رو نمایان کنید ، برای این منظور، از رویداد shown فرم استفاده کنید .)
اما اشکال دوم، می تونید یا با تغییر اندازه لیبل، اندازه فرم را هم بیشتر کنید و یا متن را توی تکست باکس نمایش بدید تا اسکرول داشته باشه
و یا خاصیت اتواسکرول فرم رو فعال کنید (البته من این رو امتحان نکردم)

در جواب سوال اولتون باید بگم که این لیبل قراره که خطا رو نشون بده فقط همین پس نیاز دیدنش وقتی که خطا تو خصوصیت تکست ان قرار بگیره نه وقتی که هیچ خطایی رخ داده نشده باشه

Hossis
یک شنبه 17 مهر 1390, 00:15 صبح
در جواب سوال اولتون باید بگم که این لیبل قراره که خطا رو نشون بده فقط همین پس نیاز دیدنش وقتی که خطا تو خصوصیت تکست ان قرار بگیره نه وقتی که هیچ خطایی رخ داده نشده باشه

پس اول لیبل را مخفی می کنیم (با خاصیت visible) سپس کد فوق رو این طوری می نویسیم
Try
'Your code here
Catch ex As Exception
label1.visible=true
label1.text=ex.Message
End Try

oliya24
یک شنبه 17 مهر 1390, 01:03 صبح
دوستان ممنونم اما حالا یه مشکل دارم اونم اینه که فرض کنید که من نمیخوام فرمم بزرگ باشه و بعد یه پیام که من میخوام رو فرمم ظاهر بشه از فرم نزنه بیرون که متاسفانه در این برنامه این طوریه
در کل میخوام که متن داخل لیبل بزرگتر از فرمم نشه

arash020
یک شنبه 17 مهر 1390, 03:44 صبح
سلام
فکر کنم میشه با ازمون و خطا یه جوری بدست آورد که برای نمایش درست متن توی فرم اون جوری که مدنظر شماست چه اندازه فرمی مورد نیازه
یعنی رابطه بین تعداد کارکتر پیام (تعداد قابل نمایش در اندازه فرم) و اندازه قلم
بعد با
تغییر فونت برچسب(lable)نتیجه دلخواه رو بدست آورد(اندازه فونت رو کم و زیاد کن تا همه متن قابل دیدن بشه)

->مثال تغییر فونت در زمان اجرا :


Dim currentSize As Single
currentSize = hdform.Lh.Font.SizeInPoints
hdform.Lh.Font = New Font(hdform.Lh.Font.Name, currentSize, hdform.Lh.Font.Style)

oliya24
یک شنبه 17 مهر 1390, 10:12 صبح
دوستان من از همتون تشکر میکنم یه جورایی مشکل حلشد