PDA

View Full Version : سوال: انتخاب چند فایل ، گرفتن آدرس آنها به طریق های مختلف



mehdi.safavie
چهارشنبه 13 آذر 1392, 03:03 صبح
درودر;

چند فایل رو از روی هارد Select کنید ، بعد اونها رو Drag کنید روی فرم برنامه ، با این کدها آدرس اون فایل ها رو برای شما تو یه ListBox اضافه میکنه .


Private Sub Form1_DragEnter(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles MyBase.DragEnter
Dim data As String() = DirectCast(e.Data.GetData(DataFormats.FileDrop), String())
If e.Data.GetDataPresent(DataFormats.FileDrop) Then
For i = 0 To data.Count - 1
Dim dir As New IO.DirectoryInfo(data(i))
ListBox1.Items.Add(dir)
Next
TextBox1.Text = DirectCast(e.Data.GetData(DataFormats.FileDrop), String())(0)
End If
End Sub


این کار فقط در زمانی اتفاق میافته که DragEnter انجام بشه ، اگر این کار رو بخوام رو حالت DragDrop فرم انجام بدم ، هیچ اتفاقی نمیافته !!!؟
چرا ؟؟؟!!!

چه راهی وجود داره تا کار های زیر رو برای بدست آوردن آدرس اون فایل ها انجام بدیم ؟
1 - راست کلیک کنی و از منو ها روی گزینه برنامت کلیک کنی !***
2 - فایل ها رو انتخاب کنی ، بعد بیای تو برنامه روی یک Button کلیک کنی و آدرس ها رو بهت بده ؟

*** : در رابطه با بردن برنامه به منوی راست کلیک ویندوز و تمام انتخاباتش از جمله : مثل قسمت New که یه فلش جلوش داره و یه زیر منوی دیگه باز میشه کمی اطلاعات میخواستم که راجع به چه موضوع کلیدی باید جست جو کنم !

با تشکر

rahnema1
چهارشنبه 13 آذر 1392, 07:53 صبح
سلام خیلی از کارهایی که گفتید با نوشتن اکستنشن برای شل میشه انجام داد البته باید دات نت 4 به بالا باشه. لینک دانلود:http://sharpshell.codeplex.com/ و لینک آموزش: http://www.codeproject.com/Articles/512956/NET-Shell-Extensions-Shell-Context-Menus

mehdi.safavie
چهارشنبه 13 آذر 1392, 12:53 عصر
دستت درذ نکنه داش ، فقط میمونه قسمت Linq که باید عین روبات کپی کنم تا بتونم برنامه هاش رو اجرا کنم !
غیر از نوشتن اکستنشن برای شل راه حل دیگه ای نداره نه ؟