Occurs when an asynchronous SelectAsync operation completes.

      Syntax

      public event AsyncCompletedEventHandler SelectCompleted

      Examples

      Connect to an IMAP server and select a mailbox asynchronously (Task-based asynchronous approach).

      using System;
      using ComponentPro.Net.Mail;
      
      ...
      
      // Create a new instance of the Imap class.
      Imap client = new Imap();
      
      // Connect to the server.
      client.Connect("myserver");
      
      // Or you can specify the IMAP port with 
      // client.Connect("myserver", 143); 
       
      // Login to the server.
      client.Authenticate("user", "password");
      
      // ... 
       
      // Select the 'INBOX' mailbox. 
      await client.SelectAsync("INBOX", false);
      
      // ... 
       
      // List messages in the current working mailbox.
      ImapMessageCollection listMessages = client.ListMessages(ImapEnvelopeParts.UniqueId | ImapEnvelopeParts.Size);
      
      foreach (ImapMessage m in listMessages)
      {
          Console.WriteLine(string.Format("UniqueId: {0}, Size: {1}", m.UniqueId, m.Size));
      }
      
      // Disconnect.
      client.Disconnect();

      Connect to an IMAP server and select a mailbox asynchronously (Event-based asynchronous approach).

      using System;
      using System.ComponentModel;
      using ComponentPro;
      using ComponentPro.Net.Mail;
      
      ...
      
      public void DoSelectAsync()
      {
          // Create a new instance of the Imap class. 
          Imap client = new Imap();
      
          // Connect to the server. 
          client.Connect("myserver");
      
          // Or you can specify the IMAP port with 
          // client.Connect("myserver", 143); 
       
          // Login to the server. 
          client.Authenticate("user", "password");
      
          // ... 
       
          // Register an event handler. 
          client.SelectCompleted += client_SelectCompleted;
      
          // Select the 'INBOX' mailbox. 
          client.SelectAsync("INBOX", false);
      
          // ... 
       
          // Disconnect. 
          client.Disconnect();
      }
      
      void client_SelectCompleted(object sender, AsyncCompletedEventArgs e)
      {
          Imap client = (Imap)sender;
      
          if (e.Error != null)
          {
              Console.WriteLine("Error: " + e.Error.ToString());
          }
          else 
          {
              // List messages in the current working mailbox. 
              ImapMessageCollection listMessages = client.ListMessages(ImapEnvelopeParts.UniqueId | ImapEnvelopeParts.Size);
      
              foreach (ImapMessage m in listMessages)
              {
                  Console.WriteLine(string.Format("UniqueId: {0}, Size: {1}", m.UniqueId, m.Size));
              }
          }
      }

      Framework

      .NET Compact Framework.NET Compact Framework

      Supported version: 2.0, 3.5, and 3.9
      Assembly: ComponentPro.Mail.CF (in ComponentPro.Mail.CF.dll)

      .NET Framework.NET Framework

      Supported version: 2.0, 3.0, 3.5, 4.0, 4.5.x, 4.6.x and later
      Assembly: ComponentPro.Mail (in ComponentPro.Mail.dll)

      Xamarin AndroidXamarin Android

      Supported version: 2.3 and later
      Assembly: ComponentPro.Mail.Android (in ComponentPro.Mail.Android.dll)

      Xamarin MacXamarin Mac

      Supported version: 2.0.x and later
      Assembly: ComponentPro.Mail.Mac (in ComponentPro.Mail.Mac.dll)

      Xamarin iOSXamarin iOS

      Supported version: 5.1.x and later
      Assembly: ComponentPro.Mail.iOS (in ComponentPro.Mail.iOS.dll)

      See Also