PowerTCP Mail for .NET
Length Property
See Also  Send comments on this topic.
Dart.PowerTCP.Mail Namespace > ImapProgressEventArgs Class : Length Property




Gets the total length of expected data.

Syntax

Visual Basic (Declaration) 
Public ReadOnly Property Length As Long
Visual Basic (Usage)Copy Code
Dim instance As ImapProgressEventArgs
Dim value As Long
 
value = instance.Length
C# 
public long Length {get;}
Managed Extensions for C++ 
public: __property long get_Length();
C++/CLI 
public:
property int64 Length {
   int64 get();
}

Property Value

Returns the total length of expected data. If there is no way to determine how much data to expect, this value will be 0.

Example

The following example demonstrates displaying progress when getting messages.
Visual BasicCopy Code
Private Sub GetTest()
   ' Login
   Imap1.Login(Server, User, Pass)
   
   ' Get all messages in INBOX, this will cause the Progress event to be raised.
   Imap1.CurrentMailbox.Get()
   
   ' Logout
   Imap1.Logout()
End Sub
    
Private Sub Imap1_Progress(ByVal sender As Object, ByVal e As Dart.PowerTCP.Mail.ImapProgressEventArgs) Handles Imap1.Progress
   ProgressBar.Minimum = 0
   ProgressBar.Maximum = e.Length
   ProgressBar.Value = e.Position
   LblProgress.Text = "Processing message " + e.Message.Id

   If e.Length = e.Position Then
      LblProgress.Text = "Complete"
   End If
End Sub
C#Copy Code
private void GetTest()
{
   // Login
   imap1.Login(Server, User, Pass);
   
   // Get all messages in INBOX, this will cause the Progress event to be raised.
   imap1.CurrentMailbox.Get();
   
   // Logout
   imap1.Logout();
}

private void imap1_Progress(object sender, Dart.PowerTCP.Mail.ImapProgressEventArgs e)
{
   progressBar.Minimum = 0;
   progressBar.Maximum = (int)e.Length;
   progressBar.Value = (int)e.Position;
   lblProgress.Text = "Processing message " + e.Message.Id;

   if(e.Length == e.Position)
      lblProgress.Text = "Complete";
}

Remarks

The value of ImapProgressEventArgs.Length and ImapProgressEventArgs.Position depends on the operation. For example:

  • If downloading headers, ImapProgressEventArgs.Length is the total length of the headers. ImapProgressEventArgs.Position is the count of bytes received.
  • If downloading messages, ImapProgressEventArgs.Length is the total length of the message. ImapProgressEventArgs.Position is the count of bytes received.
  • If downloading body structure or envelope, both of these values will be 0, because the total amount of data being retrieved is unknown.

Requirements

Target Platforms: Microsoft .NET Framework 2.0

See Also

Documentation Version 3.2
© 2010 Dart Communications. All Rights Reserved.