ahmed_sa Ответов: 1

Как получить изображения из потока памяти в form1 и в Form2, чтобы пройти с расширением rdlc отчет


Проблема

Как получить изображение из потока памяти и передать его в rdlc ?

Я работаю в приложении windows form C# project VS2015, содержащем две формы windows

форма 1

форма 2

в форме 1 я генерирую изображение qr кода в графическом окне и сохраняю его в потоке памяти

В разделе создать нажмите кнопку
MemoryStream memorystream = new MemoryStream();  
 
MessagingToolkit.QRCode.Codec.QRCodeEncoder encoder = new MessagingToolkit.QRCode.Codec.QRCodeEncoder();  
                           encoder.QRCodeScale = 8;  
                           
  
                         
                           string encoding = "UserName : " + textBox4.Text + "\r\n" + "Country : " + comboBox3.Text + "\r\n" + "Membership :" + comboBox5.Text;  
                           
                            
                           Bitmap bmp = encoder.Encode(encoding);  
                           pictureBox1.Image = bmp;  
                           bmp.Save(memorystream, ImageFormat.Jpeg);


До сих пор у меня не было никаких проблем

Я генерировать QR код и получить его правильно в box1 изображение и сохранить его в поток памяти
Моя проблема как передать поток памяти из form1 в RDLC ?

в форме 2
Средство просмотра отчетов найдено в форме 2 это место отображения RDLC
В кнопке Получить отчет по форме 1
Как представить поток памяти здесь
если (имя picturebox1.Изображения != нуль)
{
var f = new Form2(как представить поток памяти здесь);

f. владелец = это;
пробовать
{
Ф.Метод showdialog();
}
наконец
{
Ф.Распоряжаться();
}

}

но как передать поток памяти в rdlc, который будет показан в форме 2

В случае загрузки формы формы 2

Как получить MemoryStream к пути Изображения

string imagePath = How to getmemorystream to image path;  
            reportViewer1.LocalReport.EnableExternalImages = true;  
           
            ReportParameter rpt4 = new ReportParameter("parmimage", imagePath);  
           
            this.reportViewer1.LocalReport.SetParameters(new ReportParameter[] { rpt4 });  
            
            this.reportViewer1.RefreshReport();


Что я уже пробовал:

How to get image from memory stream in form1 and pass to rdlc report in form2

1 Ответов

Рейтинг:
1

CHill60

Здесь есть ряд советов по CodeProject, которые помогут вам в теме передачи информации между формами. Первый здесь Передача информации между двумя формами, Часть 1: Родитель-Ребенок[^] и в этой статье есть ссылки на другие