منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : السحب والافلات على ايقونه البرنامج اكثر من مره والافلات على النافذه
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
سلام


التشبيه بطريقت برنامج الفوتوشوب في السحب والافلات على ايقونه البرنامج اكثر من مره والافلات على النافذه يعني هنا الفورم



نحتاح احداث خاصه بالمشروع وليس الفورم
وهنا نحتاج الى حدث بدات التشغيل startup وحدث بدايت محاولت انشاء نسخه اخرى من البرنامج startupnextinstanse
وندخل الى كلاس احداث المشروع من صفحت خصائص المشروع بالضغط على زر view applicatin even مثل الصوره



وحتكود اكواد المشروع كالتالي


اولا:------------------------------
تؤشر على mak single instanse application في صفحت خصائص المشروع


ثانيا:--------------------------------------
كود الموديل
كود :
Module Module1

   Public Sub fllListBox(ByVal arr As Array)
       For Each arg As String In arr
           If IO.Path.GetExtension(arg).ToLower = ".mp3" Then
               Form1.ListBox1.Items.Add(arg)
           End If
       Next
   End Sub

End Module
وضيفت fllListBox يمر على عناصر المصفوفه المرسله له وذا كان فيها شي ينفذ الموجود بالشرط وهو التاكد من نوع الملف هل mp3 عشان يضيفه


ثالثا:-------------------------------------
كود الفورم اللي موجود فيه listbox
كود :
Public Class Form1

   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
       Me.AllowDrop = True
   End Sub

   Private Sub TextBox_Pth_DragDrop(ByVal sender As Object, ByVal e As Windows.Forms.DragEventArgs) Handles Me.DragDrop
       fllListBox(e.Data.GetData(DataFormats.FileDrop))
   End Sub

   Private Sub TextBox_Pth_DragEnter(ByVal sender As Object, ByVal e As Windows.Forms.DragEventArgs) Handles Me.DragEnter
       If (e.Data.GetDataPresent(Windows.Forms.DataFormats.FileDrop)) Then
           e.Effect = Windows.Forms.DragDropEffects.Copy
       End If
   End Sub

End Class
الحدث DragEnter وضيفته انه يغير شكل الماوس بعد السحب لما يجي فوق form فاذا كان المسحوب ملفات يغيره لمؤشر copy
والحدث DragDrop وضيفته بعد ما تترك الزر يعني الافلات هنا يستدعي الاجرا fllListBox ويرسل له مصفوفه البيانات من GetDataPresent


رابعا:--------------------------------
كود احداث المشروع
كود :
Namespace My

   Partial Friend Class MyApplication

       Private Sub MyApplication_Startup(ByVal sender As Object, ByVal e As Microsoft.VisualBasic.ApplicationServices.StartupEventArgs) Handles Me.Startup
           fllListBox(My.Application.CommandLineArgs.ToArray)
       End Sub

       Private Sub MyApplication_StartupNextInstance(ByVal sender As Object, ByVal e As Microsoft.VisualBasic.ApplicationServices.StartupNextInstanceEventArgs) Handles Me.StartupNextInstance
           fllListBox(e.CommandLine.ToArray)
       End Sub

   End Class

End Namespace
حدث startup هذا اول حدث يعمل بغض النظر عن ما هو فورم البدايه وهنا يستدعي الاجرا fllListBox ويرسل له مصفوفه البيانات من CommandLineArgs
حدث startupnextinstanse يعمل عند بدايت محاولت تشغيل نسخه اخرى وهنا يستدعي الاجرا fllListBox ويرسل له مصفوفه البيانات من CommandLine


موفقين