07-04-14, 11:27 AM
للأسف الملف الخاص بك لم يعمل لدي بشكل دقيق و تحديدا مكتبة Leadtools ... لكن ما فهمته أنك تريد اضافة الصور من فولدر ما علي جهاز الكمبيوتر الي DocsRasterImageList الموجودة علي الفورم الموجود في مشروعك
اولا : عليك أن تقوم بتعريف المتغيرات التالية في مشروعك
ثانيا : تقوم بإضافة الدالة التالية الي مشروعك و هي تمثل الدالة المسئولة عن جلب ملفات الصور
ثالثا : تقوم بإضافة الروتين التالي الي مشروعك و هو سيكون مسئول عن اضافة الصور الي DocsRasterImageList
و أخيرا و ف الحدث الخاص ب بدء الفورم يمكنك ان تضيف الكود التالي لكن عليك ان تحدد المسار الموجودة به ملفات الصور بدقة حتي لا يحدث خطأ
تحديد مكان الصور أمر متروك لك تنفيذه بأي شكل تريده طبقا لإحتياجات برنامجك
اولا : عليك أن تقوم بتعريف المتغيرات التالية في مشروعك
كود :
Private imageFiles() As String = Nothing
Private imageFileLocation As String = Nothingثانيا : تقوم بإضافة الدالة التالية الي مشروعك و هي تمثل الدالة المسئولة عن جلب ملفات الصور
كود :
Public Shared Function GetAllImages(imagePath As String) As String()
Dim imageFileExtension As String = "*.jpg;*.jpeg;*.png;*.bmp;*.tif;*.tiff;*.gif"
Dim imageFileExtensionPattens() As String = imageFileExtension.Split(";"c)
Dim imageFiles As List(Of String) = New List(Of String)()
For Each imageFilter As String In imageFileExtensionPattens
' Data to hold names of subfolders to be examined for files.
Dim foldersStack As New Stack(Of String)(20)
If Not Directory.Exists(imagePath) Then
Throw New ArgumentException()
End If
foldersStack.Push(imagePath)
Do While foldersStack.Count > 0
Dim currentFolder As String = foldersStack.Pop()
Dim subFolder() As String = Nothing
Try
subFolder = Directory.GetDirectories(currentFolder)
Catch ex As Exception
Continue Do
End Try
Try
imageFiles.AddRange(Directory.GetFiles(currentFolder, imageFilter))
Catch ex As Exception
Continue Do
End Try
For Each str As String In subFolder
foldersStack.Push(str)
Next str
Loop
Next
Return imageFiles.ToArray()
End Functionثالثا : تقوم بإضافة الروتين التالي الي مشروعك و هو سيكون مسئول عن اضافة الصور الي DocsRasterImageList
كود :
Private Sub GetImageFiles(ByVal imageLocation As String)
Me.imageFiles = GetAllImages(imageLocation)
For Each Imagefile As String In imageFiles
If imageFiles.Length <> 0 Then
DocsRasterImageList.Items.Add(Imagefile)
End If
Next
End Subو أخيرا و ف الحدث الخاص ب بدء الفورم يمكنك ان تضيف الكود التالي لكن عليك ان تحدد المسار الموجودة به ملفات الصور بدقة حتي لا يحدث خطأ
تحديد مكان الصور أمر متروك لك تنفيذه بأي شكل تريده طبقا لإحتياجات برنامجك
كود :
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' المكان الموجودة به الصور يجب تحديدة بدقة تامة....يمكنك تغيير اسم الفهرس الي أي اسم تريده
Me.imageFileLocation = "C:\Dell\A"
GetImageFiles(imageFileLocation)
End Sub
