簡體   English   中英

對齊N列的單個字符

[英]Align N columns of single characters

我試圖通過在WFA中為每一行的標簽輸出字符串來在C#中具有N列的單個字符。 我嘗試使用String.Format 此處找到的解決方案,但由於我不知道列數,所以我無法使用,我也認為由於字符寬度不同,它也不起作用。

我嘗試生成一個字符串作為String.Format的第一個參數傳遞,然后為一行提供字符數組作為第二個參數,但是我得到了錯誤Index (zero based) must be greater than or equal to zero and less than the size of the argument list. 因為我保證這是真的,所以這很令人困惑。

//generatedText is built in a loop consisting of  += "{" + i + ", -2} "
row1.Text = String.Format(generatedText, myCharArray); //error!

僅將每列用空格分開的簡單解決方案根本不起作用,因為字符的寬度不同,所以它們很快就會偏移(我認為String.Format解決了這個問題,如果我能使之工作的話)。

關於修復我對String.Format的用法的任何建議,或者使文本固定寬度的方法,或者對我的問題的另一種解決方案?

編輯:我試圖使用String.Format用於確定的列數,由於字符寬度不同,它無法正確對齊它們。 其他解決方案?

示例輸出將類似於...

Row 1:  a  j  e  t  v  q  p  z  c
Row 2:  c  c  b  r  m  a  s  t  m

列完美對齊。

除非您使用@ Scott-Hunter建議的等寬字體,否則沒有可靠的方法來執行所需的操作。 您可以通過測量字符串來弄亂它,但是對於非等寬字體,將存在無法使用空格修復的間隙。

使用等寬字體,這很簡單。 只是用空格分開。 使用Consolas,Courier等

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM