18-06-15, 05:00 PM
سلام
ال backgroundworker هو عمل كود في الخلفية دون تعليق البرنامج
بحثت وجمت لك مثال اتوقع راح يكون ما تبحث عنه
موفقين
ال 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موفقين
متغيب
