2012-09-03 57 views
1

我的應用程序中有一個電子郵件功能。所以我添加了\ t \ t,以便在第一個日期和值之間有一個標籤空格。這在設備中也顯得很好。但是,收到電子郵件時,字符串之間只有一個空格,而不是標籤。因此數據不會出現在列中,而是鋸齒狀。有沒有什麼方法可以在收到的電子郵件中實現相同的外觀?我如何格式化文本EmailComposeTask如何在WP7電子郵件正文中添加多個選項卡空間

string test = ""; 
strheading = "heading"; 
for (int j = 0; j < pCycMan.GetWeightCount(); j++) 
{ 
    test= test+ pCycMan.GetWeightDateByIndex(j).ToString("dd-MMM-yyyy") + "\t\t" + pCycMan.GetWeightByIndex(j) + "\n"; 
} 
var emailComposeTask = new EmailComposeTask 
{ 
    To = "emailid", 
    Subject = "tezt", 
}; 
emailComposeTask.Body = strheading + test; 
emailComposeTask.Show(); 

編輯: - 我也試過裏面的for循環,沒有工作的下面的代碼。

string temp2 =pCycMan.GetWeightByIndex(j); 
StringBuilder sb = new StringBuilder(pCycMan.GetWeightDateByIndex(j).ToString("dd-MMM-yyyy")); 
sb.Append("\t"); 
sb.Append(temp2); 
sb.AppendLine(); 
weight = weight + sb.ToString(); 
+2

您如何確定收到的電子郵件中沒有標籤?您使用哪種工具來確認? –

+0

電子郵件僅顯示兩個字符串之間的空格。 – alfah

+1

例如,如果您正在瀏覽器中查看電子郵件,則所有標準空格都會被打破,因爲瀏覽器忽略了這些空格。因此,您需要查看原始電子郵件數據,以驗證它確實缺少您發送的選項卡。 –

回答

2

如果你正在看的電子郵件在瀏覽器中,例如,那麼所有標準的空白可以被打破,因爲它是由瀏覽器忽略。因此,您需要查看原始電子郵件數據,以驗證它確實缺少您發送的選項卡。例如,在Mozilla Thunderbird中,按Ctrl+U可查看原始消息數據。在Gmail中,點擊向下箭頭旁邊的回覆按鈕,然後選擇Show original選項。

如果您希望以可視方式格式化文本,最好使用HTML表格來格式化表格式數據。指定「Content-Type:text/html」,然後用數據創建html文檔(注意encodind應該被正確指定)。

如果你想或者必須使用text/plain內容類型,那麼它的安全使用空格來格式化表中的數據,這樣,例如:

+------------+-------+-------+-------+-------+ 
| Date  | Load | Quota | Warn | Err | 
+------------+-------+-------+-------+-------+ 
| 2012-08-23 | 0.37|  5%|  0|  0| 
| 2012-08-22 | 0.45|  5%|  0|  0| 
| 2012-08-21 | 0.30|  5%|  0|  0| 
+------------+-------+-------+-------+-------+ 

但儘管如此,電子郵件客戶端必須使用Monospace font閱讀本表格,或者表格邊界和數據將「流動」。

相關問題