簡體   English   中英

使用Clipboard.SetText復制空字符串(字符串)

[英]Copy empty string using Clipboard.SetText(string)

Clipboard.SetText("")拋出一個錯誤 - “值不能為空”。 那么如何使用Clipboard.SetText復制空字符串?

我已經完成了Clipboard.Clear() 它確實清除了剪貼板,但它無法幫助我粘貼一個空字符串

有什么建議?

如果您嘗試使用Clipboard.SetText保存null或空字符串,它將永遠不會工作。

請參見Clipboard.SetText方法(字符串) (MSDN)。 它提到如果文本為null或者為Clipboard.SetTextEmpty ,則拋出ArgumentNullException。

因此,你無法實現你想要實現的目標。

我想你需要這樣做

Clipboard.Clear()

來自MSDN

清除系統剪貼板中的所有數據。

請參見Clipboard.Clear方法(System.Windows.Forms) (MSDN)。

Clipboard.Clear();

將清除剪貼板,因此您將“粘貼”一個空字符串。

引用PresentationCore並調用System.Windows.Clipboard.SetText(string)而不是System.Windows.Forms.Clipboard.SetText(string) 我用clipview來驗證System.Windows.Clipboard.SetText(""); (不會引發異常)將空字符串存儲到剪貼板中。

這種方法可以使您不必有條件地調用Clear()SetText()具體取決於您嘗試有效設置到剪貼板的字符串。 如果您嘗試編寫代碼以將剪貼板設置為任何字符串值,而不事先知道是否需要支持空字符串,則此功能尤其有用。 也就是說,這種方法可以避免像處理特殊情況一樣處理空字符串(IMO,它不應該是特殊情況,因為這只是令人困惑)。

另外,正如clipview所見, Clear()實際上清空了剪貼板而不是在其中放置一個空字符串。 調用System.Windows.Clipboard.SetText("")實際上將空字符串值放入剪貼板。 粘貼時,目標應用程序可以分辨出差異,並且如果需要,實際上會有不同的行為。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM