Referenz PresentationCore
und System.Windows.Clipboard.SetText(string)
statt System.Windows.Forms.Clipboard.SetText(string)
anrufen. Ich habe clipview verwendet, um zu überprüfen, dass System.Windows.Clipboard.SetText("");
(die keine Ausnahme auslöst) die leere Zeichenfolge in der Zwischenablage speichert.
Mit dieser Methode ersparen Sie sich, dass Sie Clear()
oder SetText()
bedingt aufrufen müssen, je nachdem, welche Zeichenfolge Sie effektiv in die Zwischenablage kopieren möchten. Dies ist besonders nützlich, wenn Sie versuchen, Code zu schreiben, um die Zwischenablage auf beliebigen Zeichenfolgenwert zu setzen, ohne vorher zu wissen, ob die leere Zeichenfolge unterstützt werden muss oder nicht. Das heißt, diese Methode ermöglicht es Ihnen, die leere Zeichenfolge nicht wie einen speziellen Fall zu behandeln (IMO, es sollte kein spezieller Fall sein, weil das nur verwirrend ist).
Zusätzlich, wie mit Clipview zu sehen ist, entleert Clear()
tatsächlich die Zwischenablage, anstatt eine leere Zeichenfolge darin zu platzieren. Beim Aufruf von System.Windows.Clipboard.SetText("")
wird tatsächlich ein leerer Zeichenfolgenwert in die Zwischenablage kopiert. Beim Einfügen kann die Zielanwendung den Unterschied erkennen und sich tatsächlich anders verhalten, wenn sie es möchte.
Warum müssen Sie eine leere Zeichenfolge einfügen? Benötigen Sie eine neue Zeile einfügen? – JleruOHeP
Wahrscheinlich das gleiche Problem wie ich: Er wollte es schön und einfach ohne einen speziellen Fall halten, wenn die Auswahl eine leere Zeichenfolge ist. Ich bin neugierig zu wissen, ob es einen technischen Grund gibt, eine leere Zeichenfolge zu verhindern, wenn eine "normale" Zeichenfolge zulässig ist. –