我正在尝试确定如何利用通用列表打印出各种大小字体的文本。
我知道我必须遍历列表才能将对象发送到
Graphics.DrawString(String, Font, Brush, PointF)
Graphics.DrawString(String, Font, Brush, PointF)
方法
我在如何设置列表中的对象方面遇到了麻烦,因此我可以循环并打印它们。
我有一个类(PrintString),它接受一个字符串和一个字体作为它的构造函数,然后是我设置的print类中的一个列表:
public List<PrintString> ps = new List<PrintString>();
从表单填充列表没有问题:
public List<PrintString> ps = new List<PrintString>();
我遇到的地方是我的打印类(ReceiptPrint),我试图遍历列表以将字符串和字体传递给DrawString方法。
ReceiptPrint receipt = new ReceiptPrint();
receipt.ps.Add(new PrintString(printHead,new Font("Arial", 20)));
receipt.ps.Add(new PrintString(dateTime, new Font("Arial", 14)));
receipt.Print();
ReceiptPrint receipt = new ReceiptPrint();
receipt.ps.Add(new PrintString(printHead,new Font("Arial", 20)));
receipt.ps.Add(new PrintString(dateTime, new Font("Arial", 14)));
receipt.Print();
答案 0 :(得分:1)
这是传递我在PrintString类中设置的字符串和字体的问题:
foreach (PrintString printString in ps)
{
e.Graphics.DrawString(printString.Text, printString.Font, Brushes.Black, printArea, format);
}
答案 1 :(得分:0)
创建一个包含特定项目唯一内容的成员的类,例如文本,字体大小和位置。
然后创建此类的实例并将它们添加到新的List&lt; YourClassType&gt ;;
最后,遍历列表并绘制项目。