تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] أين اضع My.Application.DoEvents
#1
السلام عليكم ورحمة الله وبركاته

أثناء عمل البرنامج احتاج لجمع الكثير من الصور في FlowLayoutPanel1

طبعا لكثرة عدد الصور فإن شاشة الصور تظل غير ظاهرة للمستخدم لأكثر من 10 ثوان تقريباً حسب كمية الصور بهذه الحالة المفضل لي أن استخدم دالة تقول بجعل المستخدم يرى تعبئة البيانات أمامه حتى لا يشعر أن البرنامج هنق أو علق ؟

يأتي دور الدالة My.Application.DoEvents وضعتها في أماكن معينة من التطبيق ولكنها لا تعمل على الوجه الصحيح ؟

فالسؤال كيف يكون الاستخدام الصحيح للدالة ؟
قال رسول الله صلى الله عليه وسلم ( من قال لا إله إلا الله دخل الجنة ) حديث صحيح.
قال رسول الله صلى الله عليه وسلم ( كلمتان خفيفتان على اللسان ثقيلتان في الميزان حبيبتان للرحمن : سبحان الله وبحمده سبحان الله العظيم ) حديث صحيح.
الرد
تم الشكر بواسطة:
#2
سلام

ممكن توضح مساله 10 ثوان

الا يمكنك استخداك backgroundworker بدل DoEvents ؟

موفقين
متغيب
الرد
تم الشكر بواسطة:
#3
(18-06-15, 03:46 PM)الطالب كتب : سلام

ممكن توضح مساله 10 ثوان

الا يمكنك استخداك backgroundworker بدل DoEvents ؟

موفقين

وعليكم السلام

مسألة 10 ثوان هي: لدي زر يفتح نافذة يتم عرض فيها عدد كبير من الصور حدث جلب الصور يتم عمله مع تشغيل النافذة load طبعاً تظل النافذة غير مرئية لمدة 10 ثوان ثم تظهر وهي محملة جميع الصور، الذي أريده هو أن تتم عملية تحميل الصور أمام المستخدم حتى لا يشعر أن البرنامج به تهنيج.

ياليت لو تبين لي ولو باختصار عمل backgroundworker إن كان هو الأنسب.
قال رسول الله صلى الله عليه وسلم ( من قال لا إله إلا الله دخل الجنة ) حديث صحيح.
قال رسول الله صلى الله عليه وسلم ( كلمتان خفيفتان على اللسان ثقيلتان في الميزان حبيبتان للرحمن : سبحان الله وبحمده سبحان الله العظيم ) حديث صحيح.
الرد
تم الشكر بواسطة:
#4
سلام

ال backgroundworker هو عمل كود في الخلفية دون تعليق البرنامج

بحثت وجمت لك مثال اتوقع راح يكون ما تبحث عنه
كود :
Public Class Form1

   Dim WithEvents gbWorker As New System.ComponentModel.BackgroundWorker

   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
       gbWorker.RunWorkerAsync()

   End Sub




   Private Delegate Sub AddControl()

   Private Sub gbWorker_DoWork(ByVal sender As Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles gbWorker.DoWork

       ' كود تحميل الصور هنا

       ' هذا مثال لعرض الصور الموجودة في مجلد الصور

       ' حلقة التكرار في هذا الحدث
       Dim files() As String = IO.Directory.GetFiles("C:\Users\Admin\Pictures", "*.jpg", IO.SearchOption.AllDirectories)
       For Each FileName As String In files

           Dim Invoker As New AddControl(Sub()
                                             ' استدعاء اجراء
                                             AppentPictureBox(Image.FromFile(FileName))
                                         End Sub)
           FlowLayoutPanel1.Invoke(Invoker, Nothing)

           ' هذا السطر مجرد تأخير نصف ثانية لمشاهدة سير العمل فقط يمكن حذفه لا حقا
           Threading.Thread.Sleep(500)

       Next

   End Sub


   Sub AppentPictureBox(ByVal image As Image)
       Dim p As New PictureBox
       p.Image = image
       FlowLayoutPanel1.Controls.Add(p)
       FlowLayoutPanel1.ScrollControlIntoView(p) ' هذا السطر يجعل المسطره تتحرك للاسفل لمشاهده المضاف اخيرا
   End Sub


End Class

موفقين


الملفات المرفقة
.rar   WindowsApplication1.rar (الحجم : 11.2 ك ب / التحميلات : 44)
متغيب
الرد
تم الشكر بواسطة: عبد الله


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  سؤال بخصوص DOEVENTS ومشكله بالكود dametucorazon 5 283 15-04-19, 09:24 AM
آخر رد: elgokr
  Application.OpenForms لا تاتي بجميع الفورم المفتوحة ali.alfoly 3 427 18-03-18, 01:05 AM
آخر رد: ali.alfoly
  أرغب في مشاريع جاهزة ASP.NET web application VB.NET من أجل التعلم +مواقع تعليمية AbdullahProg 4 2,281 23-08-17, 01:32 PM
آخر رد: AbdullahProg
  [VB.NET] هل كود : Windows Forms Application يعمل على ASP.NET web application ، والعكس AbdullahProg 1 351 22-08-17, 02:45 PM
آخر رد: حريف برمجة
  [سؤال] الانتقال من windows application إلى web application اليوم مبتدئة وغداً محترفة 0 389 22-03-17, 04:33 AM
آخر رد: اليوم مبتدئة وغداً محترفة
  [VB.NET] الانتقال من windows application إلى web application (((تم إضافة درس))) اليوم مبتدئة وغداً محترفة 6 1,261 14-03-17, 02:36 PM
آخر رد: اليوم مبتدئة وغداً محترفة
  سؤال فى console application Mohamed20 2 474 11-03-17, 01:06 AM
آخر رد: Mohamed20
  [VB.NET] استفسار بخصوص بيئة commend Window و بيئة Console Application اوتار محترقة 1 751 18-03-16, 02:01 PM
آخر رد: اوتار محترقة
  [VB.NET] wep application تناسيم 1 857 31-08-15, 04:45 PM
آخر رد: أبو عمر
Exclamation اعدادات التطبيق application settings ims.ataya 0 870 23-04-15, 12:45 PM
آخر رد: ims.ataya

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم