تم حل المشكله الاولى اخى الكريم والآن احتاج الى مساعدتكم فى المشكله الثانيه وهى السحب والافلات لملف صوتى يظهر المسار الكامل للملف وليس اسمه فقط
انا استخدم فى اداه listbox1 فى الحدث DragDrop الكود التالى
كود :
Dim Files As String() = CType(e.Data.GetData(DataFormats.FileDrop), String())
For Each FileName As String In Files
ListBox1.Items.Add(FileName)
ماهى الاضافه التى يجب اضافتها لكى اجعله ياخذ اسم الملف وليس المسار الكامل
أخوي تقدر تستخدم الكود التالي
كود :
[align=left]FileName = Path.GetFileName(FileName)[/align]
الكود كامل بعد التعديل
كود :
[align=left]Dim Files As String() = CType(e.Data.GetData(DataFormats.FileDrop), String())
For Each FileName As String In Files
FileName = Path.GetFileName(FileName)
ListBox1.Items.Add(FileName)
Next[/align]
ولاتنسى تكتب كود الاستدعاء حق InPut و OutPut في الأعلى
كود الأستدعاء
كود :
[align=left]Imports System.IO[/align]
Easy 4ever كتب :أخوي تقدر تستخدم الكود التالي
كود :
[align=left]FileName = Path.GetFileName(FileName)[/align]
الكود كامل بعد التعديل
كود :
[align=left]Dim Files As String() = CType(e.Data.GetData(DataFormats.FileDrop), String())
For Each FileName As String In Files
FileName = Path.GetFileName(FileName)
ListBox1.Items.Add(FileName)
Next[/align]
ولاتنسى تكتب كود الاستدعاء حق InPut و OutPut في الأعلى
كود الأستدعاء
كود :
[align=left]Imports System.IO[/align]
شكراً جزيلاً لك اخى الكريم الكود تمام ولما عملت drag و drop لملف فعلا اتنقل بالاسم فقط لكن لما عملت play للملف الصوتى لم يعمل
دائماً الحلو ما يكمل

.. شكراً جزيلاً لك
اخى المشكله انه انا عامل شويه حاجات ملغبطه كده وعامل عدد اثنان listbox وليس واحده وعامل
listbox1.selectedindexchanged=playlist.selectedindexchanged
وبالتالى يجب اجراء الكود على كلاهما ومع تعديل بسيط على الكود الذى اعطيته لى نفعت الحمد لله

واصبح الملف يظهر بالاسم فقط ويمكن تشغيله ايضاً والحمد لله رب العالمين شكراً جزيلاً لك
اخى الكريم الان انتهيت للتو من البرنامج وتم حل كل المشكلات واضافه مميزات جديده رائعه جداً وتدعيم البرنامج باللغه العربيه وتمكين خاصيه حفظ تعديلات المستخدم من اجل اظهارها فى المره الثانيه لتشغيل البرنامج وكذلك تم عمل login form للبرنامج يكتب فيها المستخدم الاسم الذى يريده ويطلب منه password ساضعه هنا ان شاء الله حتى اذا قام بفتح البرنامج مره اخرى لن يطالبه بادخال الاسم وكلمه المرور مره اخرى وكذلك تم تحزيم البرنامج لكى يصبح ملف setup والآن مع التحميل من السريع الرائع ميديا فاير وارجو التقييم وابداء الملاحظات وشكراً جزيلاً لك أخى الكريم
http://www.mediafire.com/?8yl6c6ddyb9b1d7
كلمه المرور لفتح البرنامج : f5ds2d5g4fg5
كنت اتمنى انه مفتوح المصدر حتى افهم هذا الجزء وهو السحب والافلات فلم اتمكن من فهمه.
بارك الله فيك اخي " الطالب" هذه ووضحت

جزاك الله عنا كل خير.
جزئية اخرى هل يمكن عملها؟
وهي تشغيل ملف بمجرد القائها على ايقونة البرنامج؟
سلام
اخي سعود هذا ابسط مثال للملفات الصوتيه mp3
كود :
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
ListBox1.AllowDrop = True
End Sub
Private Sub TextBox_Pth_DragDrop(ByVal sender As Object, ByVal e As Windows.Forms.DragEventArgs) Handles ListBox1.DragDrop
For Each f As String In e.Data.GetData(DataFormats.FileDrop)
If IO.Path.GetExtension(f).ToLower = ".mp3" Then
ListBox1.Items.Add(f)
End If
Next
End Sub
Private Sub TextBox_Pth_DragEnter(ByVal sender As Object, ByVal e As Windows.Forms.DragEventArgs) Handles ListBox1.DragEnter
If (e.Data.GetDataPresent(Windows.Forms.DataFormats.FileDrop)) Then
e.Effect = Windows.Forms.DragDropEffects.Copy
End If
End Sub
End Class
الحدث DragEnter وضيفته انه يغير شكل الماوس بعد السحب لما يجي فوق listbox1 فاذا كان المسحوب ملفات يغيره لمؤشر copy
والحدث DragDrop وضيفته بعد ما تترك الزر يعني الافلات هنا يمر على عناصر المصفوفه الخاصه بالملفات FileDrop وذا كان فيها شي ينفذ الموجود بالشرط وهو التاكد من نوع الملف هل mp3 عشان يضيفه
يعني ما نحتاج غير خاصيه allowdrop نخليها true وحدثين dragenter وdragdrop
وحكايت القائها على ايقونت البرنامج ابسط من السحب
كود :
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Call CommandLine()
End Sub
Private Sub CommandLine()
For Each arg As String In My.Application.CommandLineArgs
If IO.Path.GetExtension(arg).ToLower = ".mp3" Then
ListBox1.Items.Add(arg)
End If
Next
End Sub
End Class
ما نحتاج غير في حدث تحميل الفورم نقرا عناصر my.applicatin.lomandlineargs وينفذ الموجود بالشرط وهو التاكد من نوع الملف هل mp3 عشان يضيفه
وبدمج الفكرتين
كود :
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Call CommandLine()
ListBox1.AllowDrop = True
End Sub
Private Sub CommandLine()
For Each arg As String In My.Application.CommandLineArgs
If IO.Path.GetExtension(arg).ToLower = ".mp3" Then
ListBox1.Items.Add(arg)
End If
Next
End Sub
Private Sub TextBox_Pth_DragDrop(ByVal sender As Object, ByVal e As Windows.Forms.DragEventArgs) Handles ListBox1.DragDrop
For Each f As String In e.Data.GetData(DataFormats.FileDrop)
If IO.Path.GetExtension(f).ToLower = ".mp3" Then
ListBox1.Items.Add(f)
End If
Next
End Sub
Private Sub TextBox_Pth_DragEnter(ByVal sender As Object, ByVal e As Windows.Forms.DragEventArgs) Handles ListBox1.DragEnter
If (e.Data.GetDataPresent(Windows.Forms.DataFormats.FileDrop)) Then
e.Effect = Windows.Forms.DragDropEffects.Copy
End If
End Sub
End Class
موفقين