بسم الله
إخواني كيف ممكن أعرف أن برنامجي يجري فيه تحميل ، يعني مثلاً لما بتكون الForm عمبتنفتح بيساوي مؤشر الماوس ساعة رملية أو بيطلع ProgressBar أو حاجة زي دي
وشكراً
Abboodd dude
بسم الله
إخواني كيف ممكن أعرف أن برنامجي يجري فيه تحميل ، يعني مثلاً لما بتكون الForm عمبتنفتح بيساوي مؤشر الماوس ساعة رملية أو بيطلع ProgressBar أو حاجة زي دي
وشكراً
Abboodd dude
ما في شيء دقيق بهذا الخصوص لكن من خلال احداث الفورم (form events) يمكن متابعة هذا الامر يعني غالبا اطول مدة يستغرقها الفورم في الفتح تتم في الحدث form_load لذا في نهاية هذا الحدث يكون الفورم على وشك الظهور وبعده ينطلق حدث activate
وبالنسبة لمؤشر الماوس يمكن ارجاعه لوضعه الطبيعي في نهاية form_load
sub form_load
......
Screen.MousePointer = vbDefault
end sub
وبالنسبة ل ProgressBar فالامر اصعب به ولا يمكن ان يكون دقيق في هذا الامر (لاحظ مثلا اثناء تنزيل الويندوز او نسخ ملف حيث احيانا آخر جزء يأخذ اطول مدة ) وذلك بسبب الاعتماد على التقدير
شكراً أخي ، يعني إنت قصدك
Private Sub Form_Load Screen.MousePointer = VBHourglass ........................... Screen.MousePointer = VBDefault End Sub
مو هيك ؟
نعم بشكل عام كود form_load هو اطول شيء لكن يمكن وضع الماوس قبل ما تعمل form.show بسبب احيانا تكون ادوات بحاجة الى وقت يعني
Screen.MousePointer = VBHourglass
myform.show
وبعدين في الفورم نضع الكود
Private Sub Form_Load
...........................
Screen.MousePointer = VBDefault
End Sub
يعني ممكن حط هذا الكود في الSub Main وخلي البرنامج يبدأ منها وبعدين بعمل الForm_Load صح ؟
بس أخي مشان الProgressBar حتى لو مو ظابط بس ممكن أعرف كيف أعمله
بالنسبة ل ProgressBar بدك تضع قيم له في form_load وتحسب لكل عملية كم تستغرق وبدك فورم يكون تحميله طويل شوية
private sub form_load
ProgressBar1.Max = 5
'مثلا من خمس خطوات
ProgressBar1.Value=1
'open database
ProgressBar1.value=ProgressBar1.value+2
' احضر جدول
ProgressBar1.value=ProgressBar1.value+1
' اعمل حسابات اخرى
' وهكذا الامر وارجو ان تكون وصلت الفكرة
هذا الموضوع مغلق.