正在复制的字符在 c# windows 形式的文本文件中成倍增加
Characters being copied are getting multiplied on the text file on c# windows form
我正在用 C# 创建一个简单的剪贴板系统,每次复制字符或单词时,它们都会在文本文件中成倍增加,如下图所示。
这是我的代码
string path = @"C:\Users\" + Environment.UserName + "\Documents\clipboard.txt";
if (!File.Exists(path))
{
using (StreamWriter sw = File.CreateText(path)) ;
if(File.Exists(path))
{
while (true)
{
var text = Clipboard.GetText();
File.AppendAllText(path, text);
Thread.Sleep(2500);
}
}
}
这是一个非常粗略的修复,我相信还有比这更有效的方法,但目前这应该可行。
您会将最后复制的文本存储为 lastText
并将其与 text
中的当前文本进行比较,如果它们匹配则您的剪贴板没有更改,如果它们不匹配那么您的剪贴板上有新文本,应该将其附加到文件中。
string path = @"C:\Users\" + Environment.UserName + "\Documents\clipboard.txt";
string lastText = "";
if (!File.Exists(path))
{
using (StreamWriter sw = File.CreateText(path)) ;
if(File.Exists(path))
{
while (true)
{
var text = Clipboard.GetText();
if(lastText != text)
{
File.AppendAllText(path, text);
lastText = text;
}
Thread.Sleep(2500);
}
}
}
我正在用 C# 创建一个简单的剪贴板系统,每次复制字符或单词时,它们都会在文本文件中成倍增加,如下图所示。
这是我的代码
string path = @"C:\Users\" + Environment.UserName + "\Documents\clipboard.txt";
if (!File.Exists(path))
{
using (StreamWriter sw = File.CreateText(path)) ;
if(File.Exists(path))
{
while (true)
{
var text = Clipboard.GetText();
File.AppendAllText(path, text);
Thread.Sleep(2500);
}
}
}
这是一个非常粗略的修复,我相信还有比这更有效的方法,但目前这应该可行。
您会将最后复制的文本存储为 lastText
并将其与 text
中的当前文本进行比较,如果它们匹配则您的剪贴板没有更改,如果它们不匹配那么您的剪贴板上有新文本,应该将其附加到文件中。
string path = @"C:\Users\" + Environment.UserName + "\Documents\clipboard.txt";
string lastText = "";
if (!File.Exists(path))
{
using (StreamWriter sw = File.CreateText(path)) ;
if(File.Exists(path))
{
while (true)
{
var text = Clipboard.GetText();
if(lastText != text)
{
File.AppendAllText(path, text);
lastText = text;
}
Thread.Sleep(2500);
}
}
}