我嘗試做的是:文件拖放支持一個RichTextBox(.NET)
- 能夠將&文件拖放的一個文本框(被丟棄的文件應顯示爲文本中的小圖標) 。
- 將文本和刪除的文件保存到數據庫。
- 通過雙擊其圖標打開文本框中的拖放文件。
滴速文件,並顯示一個圖標中的文字工作正常,但的部分還留有一些問題:
我怎樣才能被丟棄的文件的路徑信息保存到圖標在TextBox中的表示。自動拖拽RichTextBox的Drop功能做一些如何,但我不知道如何。 (正如你可以看到的(在清單1中),我嘗試將具有兩個條目(圖像和文件路徑)的DataObject粘貼到TextBox,但不會保存該路徑。
第二個問題是:如何讀取雙擊文件的信息(文件路徑)? (請參閱清單2,其中可能有許多失敗嘗試) 如何解釋SeletedRTF以獲取我想要的信息?
任何人都可以幫助我嗎?
清單1:
Private Sub RTB_Kommentar_DragDrop(sender As System.Object, e As System.Windows.Forms.DragEventArgs) Handles RTB_Kommentar.DragDrop
If e.Data.GetDataPresent("FileDrop", True) = True Then
Dim paths As String() = CType(e.Data.GetData("FileDrop"), Object)
If (paths.Count > 0) Then
Dim icon As Icon = System.Drawing.Icon.ExtractAssociatedIcon(paths(0))
Dim image = CreateTextBoxImage(paths(0), icon)
Dim dObj As New DataObject()
dObj.SetImage(image)
dObj.SetText(paths(0))
Clipboard.SetDataObject(dObj)
RTB_Kommentar.Paste()
[...]
e.Effect = DragDropEffects.None
End If
End If
End Sub
清單2:
Private Sub RTB_Kommentar_DoubleClick(sender As System.Object, e As System.EventArgs) Handles RTB_Kommentar.DoubleClick
Dim dataObject As New DataObject()
dataObject.SetDataObject(RTB_Kommentar.SelectedRtf)
Dim img = dataObject.GetImage()
Dim t = dataObject.GetText()
End Sub