在同一页面上打印不同字体大小的文本

时间:2009-09-26 16:50:27

标签: c# .net winforms

我正在尝试确定如何利用通用列表打印出各种大小字体的文本。 我知道我必须遍历列表才能将对象发送到

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();

2 个答案:

答案 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 ;;

最后,遍历列表并绘制项目。