2009-09-26 74 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); 
     } 
相關問題