【发布时间】:2013-05-17 17:24:47
【问题描述】:
如何在 C# 中一次从剪贴板粘贴一行?
我在这一行得到一个 argumentNullException:
Clipboard.SetText(nextLine(clipboardText));
如果 nextLine() 无法从剪贴板获取文本,我会返回一个空字符串,因此它永远不应该返回 null。
当我按 CTRL + C 时,它将获取所有剪贴板文本并将其存储在剪贴板文本中。
当我按 CTRL + V 时,它应该将剪贴板文本的第一行粘贴到系统剪贴板中,然后粘贴。
if (Keys.C == (Keys)vkCode && Keys.Control == Control.ModifierKeys)
{
Console.WriteLine("CTRL+C");
clipboardText = getTheClipboardText();
}
else if (Keys.V == (Keys)vkCode && Keys.Control == Control.ModifierKeys)
{
Clipboard.SetText(nextLine(clipboardText)); //nextline returns a string of one line
clipboardText = removeFirstLine(clipboardText); //remove first line returns a string missing the first line
}
}
【问题讨论】:
-
不清楚你在哪里得到异常,但你不应该试图捕捉它 - 你应该通过首先检查空值并适当地处理它来避免它。请注意,您的方法名称不是 C# 的常规名称,顺便说一句。
-
不要将其添加为评论 - 将其编辑到您的问题中。
标签: c# key hook paste intercept