PDA

View Full Version : کدام رویدادرو ترجیح میدید؟ OnLoad یا Shown؟



mmbguide
جمعه 28 دی 1403, 19:14 عصر
سلام خدمت برنامه نویسان عزیز


در برنامه های WindowsForm دو رویداد OnLoad و Shown داریم که مشخصه چه زمانی اجرا میشن.


سوال:
حالا اگر قرار باشه داده های مورد نیاز در کنترل های فرم نمایش داده بشه تا کاربر بتونه استفاده کنه کدام رویداد رو ترجیح میدید؟


نظر خودم:
در رویداد OnLoad ممکنه داده های کمی با تاخیر دریافت و بارگذاری بشن که کاربر کمی وقفه در نمایش فرم رو متوجه میشه ولی خوبیش اینه که بعد از نمایش فرم تمام آیتم ها قابل استفاده هستند. ولی رویداد Shown اگرچه بعد از نمایش فرم اجرا میشه ولی اگر داده ها باتاخیر دریافت و بارگذاری بشن کاربر ممکنه بخواد سریع کلیک کنه و شروع به کار کنه و با توجه به اینکه هنوز داده ها کامل بارگذاری نشدند ممکنه کاربر رو کلافه کنه. البته این تاخیر با اغراق بیان شده.


تشکر

ROSTAM2
جمعه 28 دی 1403, 19:23 عصر
سلام خدمت برنامه نویسان عزیز


در برنامه های WindowsForm دو رویداد OnLoad و Shown داریم که مشخصه چه زمانی اجرا میشن.


سوال:
حالا اگر قرار باشه داده های مورد نیاز در کنترل های فرم نمایش داده بشه تا کاربر بتونه استفاده کنه کدام رویداد رو ترجیح میدید؟


نظر خودم:
در رویداد OnLoad ممکنه داده های کمی با تاخیر دریافت و بارگذاری بشن که کاربر کمی وقفه در نمایش فرم رو متوجه میشه ولی خوبیش اینه که بعد از نمایش فرم تمام آیتم ها قابل استفاده هستند. ولی رویداد Shown اگرچه بعد از نمایش فرم اجرا میشه ولی اگر داده ها باتاخیر دریافت و بارگذاری بشن کاربر ممکنه بخواد سریع کلیک کنه و شروع به کار کنه و با توجه به اینکه هنوز داده ها کامل بارگذاری نشدند ممکنه کاربر رو کلافه کنه. البته این تاخیر با اغراق بیان شده.


تشکر

سلام

من ک بیشتر برای Load ااطلاعات و تغییر ConnectionString از رویداد Startup از Applicastion Events استفاده می کنم....

Application.Startup Event (System.Windows) | Microsoft Learn (https://learn.microsoft.com/en-us/dotnet/api/system.windows.application.startup?view=windowsdes ktop-9.0)

mmbguide
جمعه 28 دی 1403, 19:30 عصر
برنامه از 200 فرم تشکیل شده و کاربران ممکنه از بخش های مختلفی استفاده کنند و تا نیاز نباشه اطلاعاتی بارگذاری نخواهد شد. ضمن اینکه داده ها از سرویس های api دریافت میشن. در Startup داده هایی که در کارکرد برنامه اثر میذارن دریافت میشه ولی برای تک تک فرم ها لزوما باید در رویداد همان فرم داده ها دریافت و بارگذاری شود