2010-12-06 7 views
0

こんにちは私は、リストビューコントロールで自分の受信トレイに電子メールを表示させ、rtbに腐食したボディを表示させる次のコードを持っています。事前に物事 おかげ電子メールを表示する方法を改善するC#winforms

Chilkat.MessageSet msgSet = imap.Search("ALL", true); 
     bundle = imap.FetchBundle(msgSet); 

     Chilkat.Email email; 
     int i; 
     for (i = 0; i < bundle.MessageCount - 0; i++) 
     { 
      email = bundle.GetEmail(i); 

      System.Windows.Forms.ListViewItem itmp = new System.Windows.Forms.ListViewItem(email.From); 
      System.Windows.Forms.ListViewItem.ListViewSubItem itms1 = new System.Windows.Forms.ListViewItem.ListViewSubItem(itmp, email.Subject); 
      System.Windows.Forms.ListViewItem.ListViewSubItem itms2 = new System.Windows.Forms.ListViewItem.ListViewSubItem(itmp, email.FromName); 


      itmp.SubItems.Add(itms1); 
      itmp.SubItems.Add(itms2); 

      listView1.Items.Add(itmp).Tag = i; 



      richTextBox1.Text = email.Body; 





     } 

     // Save the email to an XML file 
     bundle.SaveXml("email.xml"); 

はコード更新した場合はその詳細な回答は、サーバー側を処理するために、チルカットIMAPコンポーネントを使用して偉大な

PSイムだろうC#にはかなり新しいイム以下の方法よりも、それを表示

私が思う
Chilkat.MessageSet msgSet = imap.Search("ALL", true); 
     bundle = imap.FetchBundle(msgSet); 

     Chilkat.Email email; 
     int i; 
     for (i = 0; i < bundle.MessageCount; i++) 
     { 
      email = bundle.GetEmail(i); 

      string[] row = new string[]{email.From, 
                email.Subject,email.FromName}; 


      object[] rows = new object[] { row }; 
      foreach (string[] rowArray in rows) 
      { 
       listView1.Rows.Add(rowArray); 
      } 
+0

"私の質問は、このデータを扱い、下の方法よりも優れた方法があります。" –

+0

さて、リストビューからデータグリッドビューなどを使用するように変更したいのですが、上記のコードではうまくいきません。 – Shane121

答えて

0

、あなたが

Put a null check for bundle and email object. 

    for (i = 0; i < bundle.MessageCount - 0; i++) m, why are you substracting 0 from bundle.MessageCount 

正しい唯一の小さな点をやっている、あなたのコードがシンプルであり、そのことは、この時点では変更理由をそうすることを目的としているものをやって。

+0

ありがとう、私がそれを変更したかった理由は、非常に良いと私は上記のコードで動作し、よりよく見えるそれを置き換える別のcompnonetを見つけることができません – Shane121

+0

あなたはDataGridViewコントロールを持っていないか? – TalentTuner

+0

確かに私はそうしていますが、そのコードではうまくいきません – Shane121

関連する問題