Clipboard.SetText("")
给我一个错误-“值不能为空”。那么如何使用 复制空字符串Clipboard.SetText
?
我已经做了Clipboard.Clear()
。它确实清除了剪贴板,但它不能帮助我粘贴一个空字符串
有什么建议么?
如果您尝试使用它来保存 null 或空字符串Clipboard.SetText
,它将永远无法工作。
请参阅Clipboard.SetText 方法(字符串)(MSDN)。它提到如果文本为 null 或Empty
for ,则会引发 ArgumentNullException Clipboard.SetText
。
因此,您无法实现您想要实现的目标。
引用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("")
实际上将一个空字符串值放入剪贴板。当您粘贴时,目标应用程序可以分辨出差异,并且如果它愿意,它实际上会表现出不同的行为。