PDA

View Full Version : سوال: نحوه گذاشتن کلمه منتظر بمانید



vb.net2008
پنج شنبه 13 بهمن 1390, 10:26 صبح
سلام
تو یکی از فرمام وقتی یه دکمه انتخاب می شه میره یه صفحه دیگه رو باز می کنه اما چون اون صفحه حجم زیادی از اطلاعات رو باید لود یه چند ثانیه طول می کشه. می خوام به جوری به کاربر بگم که منتظر بمونه. چون بعد از چند ثانیه فرم باز میشه ممکنه فکر کنه دکمه کار نمی کنه و چند دفعه روش کلیک کنه. نمی خوام همچین اتفاقی بیفته
باید چی کار کنم

Hajivandian
پنج شنبه 13 بهمن 1390, 11:06 صبح
سلام، کدش اینقدر سخت نیست که بخوام نمونه بذارم.
تو رویداد کلیک دکمه ات دکمه رو غیر فعال کن که نتونه دوبار روش کلیک کنه، بعد اون هم میتونی یه لیبل روی فرم اولت بزاری توش بنویسی لطفا منتظر بمانید، در حالت عادی visible مساوی false باشه وقتی رو دکمه کلیک میشه visible مساوی true بشه.

vb.net2008
پنج شنبه 13 بهمن 1390, 11:27 صبح
بله این روشی که شما می گین رو قبلا امتحان کردم. مشکل اینجاست که لیبل رو وقتی نشون می ده که فرم جدید کاملا لود شده و کاربر فرم جدید رو می بینه. من می خوام حین لود کردن فرم که هنوز فرم نشون داده نمیشه بتونه این متنو ببینه

shadi khanum
پنج شنبه 13 بهمن 1390, 12:21 عصر
nدوست عزیز واست یه sample نوشتم..
موفق باشی

abook.100
پنج شنبه 13 بهمن 1390, 14:24 عصر
nدوست عزیز واست یه sample نوشتم..
موفق باشی

System.Threading.Thread.Sleep(3000);
دوست عزیز این کدی که نوشتید درسته ولی ...
ولی میدونیم که برنامه یا همون فرم مورد نظر فقط برای بار اول که اجرا میشه زیاد طول میکشه(مثلاً 4 ثانیه) اما برای بار دوم و دفعات بعد که همان فرم فراخوانی میشه کمتر از زمان اول طول میکشه (مثلاً 3 ثانیه شایدم کمتر)چون الان دیگه برنامه توی Ram میباشه و اطلاعات سریعتر فراخوانی میشه .
لذا با این کد شما حتی اگر سیستم کاربر از لحاظ سخت افزاری مدل بالایی هم داشته باشه و فرم مذکور هم 1000 بار پشت سر هم فراخوانی بشه همین زمان طول میکشه و کمتر نمیشه.

m2_farzan
پنج شنبه 13 بهمن 1390, 17:45 عصر
چرا از splash استفاده نمی کنید؟

shadi khanum
پنج شنبه 13 بهمن 1390, 20:00 عصر
System.Threading.Thread.Sleep(3000);
دوست عزیز این کدی که نوشتید درسته ولی ...
ولی میدونیم که برنامه یا همون فرم مورد نظر فقط برای بار اول که اجرا میشه زیاد طول میکشه(مثلاً 4 ثانیه) اما برای بار دوم و دفعات بعد که همان فرم فراخوانی میشه کمتر از زمان اول طول میکشه (مثلاً 3 ثانیه شایدم کمتر)چون الان دیگه برنامه توی Ram میباشه و اطلاعات سریعتر فراخوانی میشه .
لذا با این کد شما حتی اگر سیستم کاربر از لحاظ سخت افزاری مدل بالایی هم داشته باشه و فرم مذکور هم 1000 بار پشت سر هم فراخوانی بشه همین زمان طول میکشه و کمتر نمیشه.
دوست عزیز من این خط کد رو نوشتم که بتونم کند لود شدن فرم توی برنامه شما رو شبیه سازی کنم و قرار نیست شما تو برنامتون این کد رو بنویسید..
موفق باشید

vb.net2008
پنج شنبه 13 بهمن 1390, 21:56 عصر
nدوست عزیز واست یه sample نوشتم..
موفق باشی

خیلی ممنون. با نمونه کد شما مشکلم حل.

abook.100
شنبه 15 بهمن 1390, 14:01 عصر
دوست عزیز من این خط کد رو نوشتم که بتونم کند لود شدن فرم توی برنامه شما رو شبیه سازی کنم و قرار نیست شما تو برنامتون این کد رو بنویسید..
موفق باشید
بله متوجه منظورتون شدم.
ولی گفتم شاید بشه یه راهکار عملی و البته واقعی متناسب با زمانی که یه فرم سنگین میخاد لود بشه یا یه عملیاتی که زمان میبره تا به اتمام برسه ، پیدا کرد .