Bild von Picturebox nach Klick in Textbox

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Bild von Picturebox nach Klick in Textbox

    Hallo Leute,
    Ich bin derzeit ein wenig mit TCP/IP am spielen.
    Ich will mir einen Chat zusammenbasteln (bin auch soweit fertig) in dem ich Smylies einbauen will.

    Nun stelle sich aber die Frage:
    Wie bekomme ich das Bild aus der Picturebox in eine textbox ??

    Oder gibt es da eine andere "Variante" die vielleicht Eleganter ist als die Picturebox ?

    MFG
    Patrick

    Den link hatte ich auch schon gehabt bin mit dem Übersetzen von VB6 auf 2010 nich so ganz klar gekommen

    Probier mal dies hier (nicht getestet)
    Spoiler anzeigen

    VB.NET-Quellcode

    1. Imports System.Runtime.InteropServices
    2. Public Class Form1
    3. <DllImport("kernel32.dll")> _
    4. Public Shared Sub Sleep(ByVal dwMilliseconds As Integer)
    5. End Sub
    6. <DllImport("user32.dll", CharSet:=CharSet.Unicode)> _
    7. Public Shared Function SendMessage(ByVal hwnd As IntPtr, ByVal wMsg As Integer, ByVal wParam As IntPtr, ByVal lParam As IntPtr) As IntPtr
    8. End Function
    9. Private Const WM_PASTE = &H302
    10. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    11. End Sub
    12. ' Bild per Quellcode einfügen
    13. Private Sub CopyPictureToRTF(ByVal RTF As RichTextBox, ByVal Bild As Image)
    14. Dim Buf As Image = Nothing
    15. Dim Text As String = ""
    16. If Clipboard.ContainsText Then
    17. ' Wenn in der Zwischenablage Text ist,
    18. ' wird er in einem String gespeichert
    19. Text = Clipboard.GetText
    20. ElseIf Clipboard.ContainsImage Then
    21. ' ansonsten in einer Variant Variable
    22. Buf = Clipboard.GetImage
    23. End If
    24. ' Zwischenablage löschen und Bild kopieren
    25. Clipboard.Clear()
    26. Clipboard.SetImage(Bild)
    27. Application.DoEvents()
    28. ' Bild per SendMessage in RTF-Box einfügen
    29. SendMessage(RTF.Handle, WM_PASTE, IntPtr.Zero, IntPtr.Zero)
    30. Application.DoEvents()
    31. Sleep(3000) ' zur Sicherheit kurz warten
    32. ' Zwischenablage wieder löschen, da das Bild
    33. ' sonst in der Zwischenablage bleibt
    34. Clipboard.Clear()
    35. ' Falls vor dem Kopieren des Bildes ein Text oder
    36. ' sonstiger Inhalt in der Zwischenablage war, schreiben wir
    37. ' diesen wieder zurück in die Zwischenablage
    38. If Text <> "" Then
    39. Clipboard.SetText(Text)
    40. Else
    41. Clipboard.SetImage(Buf)
    42. End If
    43. End Sub
    44. End Class
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!