我想从我的 dot net 项目作为后台工作作为线程进行打印,为此我所做的是,首先将每个输出字符串收集到这样的字符串集合中:
myOutputStringCollection.Add(str);
然后在收集了我想将它发送到打印机的所有行之后,我编写了这样的代码来执行一个线程:
public static void printAllLines()
{
Thread t = new Thread(sendToPrinter);
t.Start(); //starts the thread
}
发送到打印机功能是这样的:
public static void sendToPrinter()
{
int count = myOutputStringCollection.Count;
string[] myArray = new string[count];
myOutputStringCollection.CopyTo(myArray, 0);
for (int i = 0; i < count; i++)
{
SendStringToPrinter(myArray[i].ToString());
}
Array.Clear(myArray, 0, myArray.Length);
}
这里面临的问题是,如果我立即单击打印按钮不止一次,那么打印对齐不正确,我认为如果我正确处理线程执行,那就没问题了。