2017-11-08 4 views
0

Ich versuche derzeit, den Benutzer zu ermöglichen, Text von einem Etikett in einem Windows-Formular in eine Zwischenablage zu kopieren, wenn Sie darauf klicken, es kopiert den Text, aber es kopiert nicht die Schriftart und die Größe. Wenn jemand mir helfen könnte, meinen Code irgendwie zu ändern, so dass die Zwischenablage auch die Schriftart und Schriftgröße zusammen mit dem Text kopiert, wird es sehr geschätzt.Wie kopierst du Text mit Formatierung und Schriftart in die Zwischenablage?

Hier ist der Code, um es läuft:

Private Sub Lbl1_Click(sender As Object, e As EventArgs) Handles Lbl1.Click 

    Clipboard.SetText(lbl1.Text) 

    popup.Label1.Text = "Text copied to clipboard" 
    Dim popupF As New Form 
    popupF = popup 
    popupF.Show() 

End Sub 

Antwort

1

Ich würde es so machen. Erstellen Klasse:

<Serializable> 
Private Class LabelText 
    Public font As Font 
    Public text As String 
End Class 

Dann Sie es kopieren kann wie folgt in die Zwischenablage kopieren:

Dim labelText As New LabelText 
    labelText.font = Me.lbl1.Font 
    labelText.text = Me.lbl1.Text 

    Clipboard.SetData("label", labelText) 

und fügen Sie es wie folgt aus:

Dim labelText As LabelText = Clipboard.GetData("label") 

    Me.lbl2.Font = labelText.font 
    Me.lbl2.Text = labelText.text 
+0

Leider funktioniert das nicht. Es werden jetzt keine Daten mehr zur Zwischenablage hinzugefügt. – LeonardoBarcellona

+0

Hast du es genau so gemacht, wie ich es geschrieben habe? ist hier der Schlüssel. – okkko

Verwandte Themen