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(); } } }