2009-09-26 33 views
1

我正在尝试确定如何使用通用列表打印出各种大小字体的文本。 我知道我将不得不遍历列表对象发送到 在同一页上使用不同字体大小打印文本

Graphics.DrawString(String, Font, Brush, PointF) 

方法。

我只是有麻烦,因为如何设置列表中的对象,所以我可以循环和打印它们。

我有一个类(PRINTSTRING)接受一个string和字体为它的构造函数,然后列表我打印类中,我设置:

public List<PrintString> ps = new List<PrintString>(); 

我没有问题,填充从我的表单列表:

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)中,我试图迭代整个列表以将字符串和字体传递给DrawString方法。

foreach (PrintString printString in ps) 
{ 
    e.Graphics.DrawString(ps?????????? 
} 

回答

0

为成员创建与特定项目相关的任何内容,例如文本,字体大小和位置。

然后创建此类的实例并将它们添加到新列表中<YourClassType>;

最后,迭代列表并绘制项目。

+0

我明白你在说什么,但我不知道我怎么会在列表传递给我的印类。 – jchristian 2009-09-26 17:03:29

+0

你应该可以让你的函数接受List 作为参数。 – overslacked 2009-09-26 18:14:37

+0

我怎样才能让DrawString方法接受列表作为参数?我有一个在我的print类中生成的通用列表,它接受一个字符串和字体。现在我不知道如何在循环中传递它。 – jchristian 2009-09-26 19:47:43

1

它传递字符串和字体我在PRINTSTRING类设置的问题:

foreach (PrintString printString in ps) 
     { 
      e.Graphics.DrawString(printString.Text, printString.Font, Brushes.Black, printArea, format); 
     } 
相关问题