منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[مثال] استغلال listview و imageliste لاستعراض الملفات و البحث داخل listView - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم امثلة ومشاريع VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=188)
+--- الموضوع : [مثال] استغلال listview و imageliste لاستعراض الملفات و البحث داخل listView (/showthread.php?tid=36054)



استغلال listview و imageliste لاستعراض الملفات و البحث داخل listView - عبد الهادي بهاب - 09-08-20

السلام عليكم 

تجسيدا لبعض ما تعلمناه  من هنا و هناك 

هذا مثال عن كيفية استغلال عنصر ListView


اولا :
في صفحة العمل نضيف عنصر ليس فيو
و نضيف اليه اربعة اعمدة  الاسم و النوع و الحجم و مسار الملف


نعلن عنه في كود الصفحة العام 
PHP كود :
Dim Monlist As New ListViewItem() 


الان نضيف زر ليظهر لنا مربع اظهار مجلد البحث FolderBrowserDialog
PHP كود :
 Dim dos As New FolderBrowserDialog
       

و النتيجة يظهر مسار المجلد في مربع نص  textbox1

PHP كود :
    TextBox1.Text dos.SelectedPath
       

 و النتائج في اليست فيو

 الان في عنصر image list



  نضيف صور تعبر عن نوعية الملفات صور او ملف وورد او ملف pdf او مجلد او ملف صوتي  ....الخ

نضيف نوع الصورة  (img) الى العنصر في اخر الكود مثال
PHP كود :
ListView1.Items.Add(New ListViewItem({type.Nameexttaifile}, img)) 


لذلك سيكون كود الزر بشكل كلي  عند الضغط هو :

PHP كود :
  ListView1.Items.Clear()
 
       Dim img As Integer 1
        Dim dos 
As New FolderBrowserDialog
        If dos
.ShowDialog() = 1 Then
            TextBox1
.Text dos.SelectedPath
            For Each dossier In IO
.Directory.GetDirectories(dos.SelectedPath)
 
               Dim info As New IO.DirectoryInfo(dossier)
 
               ListView1.Items.Add(New ListViewItem({info.Name"Dossier"""dossier}, 0))
 
               For Each file In IO.Directory.GetFiles(dossier)
 
                   Dim type As New IO.FileInfo(file)
 
                   Dim ext As String type.Extension.Substring(1type.Extension.Length 1)
 
                   If ext "mp3" Then
                        img 
6
                    ElseIf ext 
"txt" Then
                        img 
2
                    ElseIf ext 
"pdf" Then
                        img 
5
                    ElseIf ext 
"docx" Then
                        img 
3
                    ElseIf ext 
"png" Or ext "jpg" Or ext "gif" Then
                        img 
4
                    End 
If
 
                   Dim tai As String = (type.Length 1024 1024).ToString("0.00") & " Mo"
 
                   ListView1.Items.Add(New ListViewItem({type.Nameexttaifile}, img))
 
                 
                Next
            Next
            For Each file In IO
.Directory.GetFiles(dos.SelectedPath)
 
               Dim type As New IO.FileInfo(file)
 
               Dim ext As String type.Extension.Substring(1type.Extension.Length 1)
 
               If ext "mp3" Then
                    img 
6
                ElseIf ext 
"txt" Then
                    img 
2
                ElseIf ext 
"pdf" Then
                    img 
5
                ElseIf ext 
"docx" Then
                    img 
3
                ElseIf ext 
"png" Or ext "jpg" Or ext "gif" Then
                    img 
4
                End 
If
 
       Dim tai As String = (Type.Length 1024 1024).ToString("0.00") & " Mo"
 
               ListView1.Items.Add(New ListViewItem({type.Nameexttaifile}, img))
 
           
            Next
        End 
If 



و معناه سيبظهر مربع بحث عن مجلد ............ لما تختار مجلد 
اولا سيظهر ملفاته هو ثم مجلدات تابعة له و ملفاتها ايضا
و سيقارن نوع الملف ان كان صوتا mp3 او ملف تكست txt او ملف pdf او ملف وورد docx  او صورة  gif.png . jpg
طبعا يمكنك اضافة اشكال اخرى و صور اخرى غير فقط في الكود و الشرط 
................
جميل جدا
الان نضيف مربع نص في الاسفل من اجل البحث التلقائي و عنصر ليستبوكس  listbox ......... يعني كلما كتب حرفا في مربع النص سيظهر النتائج في قائمة listbox 
لذلك سنستعمل خاصية TextBox2_TextChanged

نزرع فيه الكود التالي :
PHP كود :
 ListBox1.Items.Clear()

 
       For Each item As ListViewItem In ListView1.Items
            If item
.Text.Contains(TextBox2.TextThen
                ListBox1
.Items.Add(item.Text)
 
           End If
 
       Next 

 الشكل النهائي للعمل :




الملف المفتوح للتعديل و المعاينة
https://top4top.io/downloadf-1682gsjbg1-rar.html


RE: استغلال listview و imageliste لاستعراض الملفات و البحث داخل listView - Anas Mahmoud - 09-08-20

جزاك الله خيرا اخي الكريم 
منذ فترة وجدت مكتبة في Code Project تقوم بعمل شجرة ملفات ، وعلى الهامش يقوم بعمل مثال ليست فيو لعرض الملفات :




https://www.codeproject.com/Articles/422497/ExpTreeLib-Version-3-Explorer-like-Navigation-and

الكود عموما مفيد جدا في فعض لجزئيات ولكنه ليس بسيط ، او هذا رأيي فيه عندما رأيته من فترة


RE: استغلال listview و imageliste لاستعراض الملفات و البحث داخل listView - عبد الهادي بهاب - 09-08-20

(09-08-20, 05:32 PM)Anas Mahmoud كتب : جزاك الله خيرا اخي الكريم 
منذ فترة وجدت مكتبة في Code Project تقوم بعمل شجرة ملفات ، وعلى الهامش يقوم بعمل مثال ليست فيو لعرض الملفات :
الكود عموما مفيد جدا في فعض لجزئيات ولكنه ليس بسيط ، او هذا رأيي فيه عندما رأيته من فترة

ما شاء الله
موسوعة استاذ انس
الله لايحرمنا من علمك