تقييم الموضوع :
  • 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 ك ب / التحميلات : 14)
متغيب
الرد }}}}
تم الشكر بواسطة: عبد الله


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [VB.NET] الانتقال من windows application إلى web application اليوم مبتدئة وغداً محترفة 5 97 14-11-16, 08:36 AM
آخر رد: اليوم مبتدئة وغداً محترفة
  [VB.NET] استفسار بخصوص بيئة commend Window و بيئة Console Application اوتار محترقة 1 225 18-03-16, 02:01 PM
آخر رد: اوتار محترقة
  [VB.NET] wep application تناسيم 1 241 31-08-15, 04:45 PM
آخر رد: أبو عمر
Exclamation اعدادات التطبيق application settings ims.ataya 0 300 23-04-15, 12:45 PM
آخر رد: ims.ataya
  [سؤال] فى console application أسامة 2 690 28-11-13, 01:32 PM
آخر رد: أسامة
  مساعدة في برنامج جدول الموظفين بـ console application mhdmbk 2 505 14-02-13, 09:53 PM
آخر رد: mhdmbk
  كيف انشاء multi language application مبتدئ 1 316 30-01-13, 10:26 PM
آخر رد: Sajad
  اريد شرح Application.DoEvents() 0 133 منذ اقل من1 دقيقه مضت
آخر رد:

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


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