コード例 #1
0
 // Выбор вложения для сохранения
 private void ListBoxAttach_SelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     if (((ListBox)sender).SelectedIndex >= 0)
     {
         // Выбор имени файла для сохранения
         string         filename       = ((MyViewControl)DataContext).Message.MyAttachments[((ListBox)sender).SelectedIndex].Name;
         SaveFileDialog saveFileDialog = new SaveFileDialog()
         {
             FileName = filename
         };
         if (saveFileDialog.ShowDialog() == true)
         {
             FileStream stream  = new FileStream(saveFileDialog.FileName, FileMode.Create, FileAccess.Write);
             byte[]     content = MailStorage.LoadAttach(Client.CurrentMailBox, filename);
             if (content.Length > 0)
             {
                 stream.Write(content, 0, content.Length);
             }
             // Очистка памяти после скачивания
             content = null;
             stream.Dispose();
         }
         // Снятие выделения элемента списка
         ((ListBox)sender).SelectedIndex = -1;
     }
 }