Как вставить одну строку из буфера обмена одновременно в C#?Как вставить одну строку из буфера обмена одновременно в C#?
Я получаю ArgumentNullException на этой линии:
Clipboard.SetText (nextLine (clipboardText));
У меня была следующая строка(), возвращающая пустую строку, если она не может получить текст из буфера обмена, чтобы он никогда не возвращал значение 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
}
}
Непонятно, где вы получаете исключение, но вы не должны пытаться его поймать - вам следует избегать этого, сначала проверяя на недействительность, и обрабатывая его соответствующим образом. Обратите внимание, что ваши имена методов не являются обычными для C#, кстати. –
Не добавляйте его в качестве комментария - отредактируйте его в свой вопрос. –