如何在c#中粘贴剪贴板中的一行



如何在c#中粘贴剪贴板中的一行?

我得到一个argumentNullException在这一行:

剪贴板。SetText(nextLine(clipboardText));

我有nextLine()返回一个空字符串,如果它不能从剪贴板获取文本,所以它不应该返回null。

当我按CTRL + C时,它会获得所有剪贴板文本并将其存储在clipboardText中。

当我按CTRL + V时,它应该将clipboardText的顶部行粘贴到系统剪贴板中,然后粘贴。

            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
            }
     }

听起来nextLine在某些情况下返回null,因此您需要考虑如何处理它。例如:

string line = nextLine(clipboardText);
if (line == null)
{
    // Nothing more to do.
    return ...; // TODO: Work out what value to return
}
Clipboard.SetText(line);
clipboardText = removeFirstLine(clipboardText);

或者,如果你的nextLine方法不应该返回null,那么这表明它有一个错误。

最新更新