PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : vb.net 2008 : drag'n'drop von links in webseiten nicht möglich



Schlumpf2009
16.04.2010, 00:04
hi

ich habe mir ein kleines tool geschrieben das mir links zu wichtigen sachen
archivieren kann.

das funktioniert auch soweit ganz gut nur habe ich mit browsern so meine probleme :twisted

wenn ich im firefox einen favorit oder ein lesezeichen oder die browserurl der
gerade geöffneten seite oder gar einen link auf der geöffneten seite in mein panal1 ziehen will pasiert nichts

wenn ich dagegen den link so wie ich ihn "droppen" will aufn desktop ziehe, und von dort dann in mein panal1 dann funktioniert es :(

hat mir jemand von euch nen ansatz wonach ich schauen sollte ?

PS: ausm explorer dateien per drag'n'drop kann ich auch kopieren der link wird fein angezeigt

l4nk4b3l
16.04.2010, 07:09
Enable DragDrop beim Control auf True Setzen und entsprechend die Events hinzufügen.

Hier ein beispiel von mir.



private void imgDrop_DragDrop(object sender, DragEventArgs e)
{
//1. Die Pfade der Dateien die gedropt wurden auslesen
string[] file_path = (string[])e.Data.GetData(DataFormats.FileDrop, false);

//2. Bild anzeigen
pbCaptcha.Image = Image.FromFile(file_path[0]);

//3. Dateiname anzeigen
lblFileName.Text = Path.GetFileName(file_path[0]);
}

private void imgDrop_DragEnter(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.FileDrop))
{
e.Effect = DragDropEffects.Copy;
}
}

Schlumpf2009
16.04.2010, 09:48
ne hilft leider auch nicht weiter da der code nicht mit per drag n drop
im browser funktioniert

der rest von drag n drop geht ja

auch das datei auslesen und in ne listbox eintragen
sowie zum debuggen in ne richtextbox

nur das browserlink droppen ausm firefox geht nicht

ich bekomme noch nicht mal den pfad zu dem entsprechenden favorit ausgegeben
bzw wenn ich aus einer webseite einen link "dragge" den inhalt
grad so als ob vb.net2008 das drop ignoriert

DragDropEffects-Enumeration (System.Windows.Forms) (http://msdn.microsoft.com/de-de/library/system.windows.forms.dragdropeffects.aspx)
geht auch nur auf dateien oder links ein die im OS oder desktop sind


ich schreib mal ne vereinfachte version damit wir ne basis haben




Imports System
Imports System.IO
Imports System.Collections
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Panel1.BackColor = Color.Black
Panel1.Width = "48"
Panel1.Height = "48"
Panel1.AllowDrop = True
End Sub
Private Sub Panel1_DragEnter(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles Panel1.DragEnter
e.Effect = DragDropEffects.All
End Sub
Private Sub Panel1_DragDrop(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles Panel1.DragDrop
If RichTextBox1.TextLength = 0 Then
Else
RichTextBox1.Text = RichTextBox1.Text & vbCrLf & "--------------------------------------------------------------------------------------------------------"
End If
Dim s() As String = e.Data.GetData("FileDrop", False)
Dim i1 As Integer
For i1 = 0 To s.Length - 1
Dim sReader As New StreamReader(s(i1))
Dim sZeile As String = ""
Dim arrZeile As New ArrayList()
Dim count As Integer = 0
Do
sZeile = sReader.ReadLine()
If Not sZeile Is Nothing Then
arrZeile.Add(sZeile)
count = count + 1
End If
Loop Until sZeile Is Nothing
sReader.Close()
Dim i2 As Integer = 0
Do While i2 <= count
Dim dummy As String = arrZeile(i2)
RichTextBox1.Text = RichTextBox1.Text & vbCrLf & dummy
i2 = i2 + 1
Loop
Next i1
End Sub
End Class



drag n drop :

desktop : ja
explorer : ja
firefox favorit : nein
firefox webseite : nein