2016-07-26 84 views
1

我有一個銷售點應用程序,我有一個TextBox將作爲recepit的內容。它將有一個點矩陣字體並將模擬打印的收據。C#TextBox如何填充它像打印收據內容

我想要做的就是創建一個類,將處理該收據的填充。

我知道最大字符寬度是25個字母。所以我應該可以將文本附加到這個類中,它會自動將文本放在應該放置的位置。

所以我應該得到的東西是這樣的:

enter image description here

是否有任何類在那裏比可以全自動當前位置的文本?或者我必須手工做一切?

欣賞它。

+0

如果在WPF,爲什麼使用這個TextBox?一個ItemsControl會爲你提供更好的服務。即使在WinForms中你也有更好的選擇 – BradleyDotNET

+0

剛添加標籤「winforms」。 – VAAA

回答

2

正如上面的評論者所說,實際使用控件創建列表會更清潔,但如果必須的話,您可以使用字符串來完成。

使用string.Format,你可以墊在使用爲右對齊文本正值一定的寬度和負左對齊:

https://msdn.microsoft.com/en-us/library/system.string.format(v=vs.110).aspx

在這個頁面:

int[] years = { 2013, 2014, 2015 }; 
int[] population = { 1025632, 1105967, 1148203 }; 
String s = String.Format("{0,-10} {1,-10}\n\n", "Year", "Population"); 
for(int index = 0; index < years.Length; index++) 
    s += String.Format("{0,-10} {1,-10:N0}\n", 
        years[index], population[index]); 
// Result: 
// Year  Population 
// 
// 2013  1,025,632 
// 2014  1,105,967 
// 2015  1,148,203