public void InitDialog(string fileName, RasterCodecs codecs)
        {
            _lstAttachments.View = View.Details;
            _fileName            = fileName;
            _codecs = codecs;

            foreach (AttachmentColumnHeader columnHeader in _attachmentColumnHeaders)
            {
                _lstAttachments.Columns.Add(columnHeader._columnName, columnHeader._columnWidth, HorizontalAlignment.Left);
            }

            CodecsAttachments attachments = codecs.ReadAttachments(fileName);
            int attachmentNumber          = 0;

            foreach (CodecsAttachment attachment in attachments)
            {
                attachmentNumber++;
                double fileSize = attachment.FileLength / 1024.0;

                string tempPath           = Path.GetTempPath();
                string tempAttachmentFile = Path.Combine(Path.GetTempPath(), string.Format("LT_CS_{0}.tmp", attachment.FileName));

                ExtractAttachmentFile(tempAttachmentFile, attachmentNumber);

                CodecsImageInfo info = null;
                try
                {
                    info = codecs.GetInformation(tempAttachmentFile, true);
                }
                catch { }

                ListViewItem item = new ListViewItem(new[] { attachment.DisplayName, (info != null) ? ((info.AttachmentCount > 0) ? "Yes" : "No") : "No", attachment.TimeModified.ToString(), (info != null) ? info.IsPortfolio.ToString() : "No", fileSize.ToString("N") + " KB", attachment.Description });
                _lstAttachments.Items.Add(item);

                if (File.Exists(tempAttachmentFile))
                {
                    File.Delete(tempAttachmentFile);
                }

                if (info != null)
                {
                    info.Dispose();
                }
            }
        }