2010-12-06 9 views
0

Hallo Ich habe den folgenden Code, mit dem ich die E-Mails in meinem Posteingang auf einer Listenansicht anzeigen und den corrospoding Körper in einem Rtb meine Frage anzeigen, gibt es eine bessere Möglichkeit, diese Daten zu behandeln und zeigen sie es als die Art und Weise unten im ziemlich neu in C# so detaillierte Antworten würden großeBessere Möglichkeit zum Anzeigen von E-Mails C# Winforms

ps im mit der chilkat imap Komponente sein, die Server-Seite zu behandeln, wenn die Dinge Dank im Voraus

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"); 

-Code Aktualisiert

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

"meine Frage ist, gibt es einen besseren Weg, um mit diesen Daten umzugehen und sie anzuzeigen als unten" - was definiert "besser"? –

+0

Nun, ich wollte von der Verwendung einer Listenansicht zu einem Datenraster Ansicht oder etwas ähnliches, aber sie arbeiten nicht mit dem Code über – Shane121

Antwort

0

Ich denke, Sie zu diesem Zeitpunkt richtig nur kleinen Punkt

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 

Code ist einfach und sein zu tun, was es ist beabsichtigt, dies zu tun, warum Änderung tun.

+0

Danke tun, der Grund, warum ich es ändern wollte, ist Ursache der Listenansicht Steuerelement selbst dosnt aussehen sehr gut und ich kann ein anderes Compnonet nicht finden, um es zu ersetzen, das besser aussieht und mit dem obigen Code arbeitet – Shane121

+0

haben Sie nicht DataGridView Steuerung ????? – TalentTuner

+0

ja ich tue, aber es wird nicht mit diesem Code arbeiten – Shane121