Я пишу Windows Forms Application
приложение, которое должно показывать изображение на элементе управления PictureBox
.
Чтобы извлечь это изображение из файла DICOMDIR
, я использую библиотеку fo-dicom
(управляемую это руководство):
....
private void MainForm_Load(object sender, EventArgs e)
{
ImageManager.SetImplementation(WinFormsImageManager.Instance);
}
....
// this function is just for example
// real function is bit complicated
private void ShowImage()
{
// Getting DICOM file, retrieving all info from it
// Getting dicomDataset instance
....
var id = dicomDataset.Get<string>(DicomTag.ReferencedFileID, -1);
var dicomImage = new DicomImage(id);
var bitmap = dicomImage.RenderImage().AsBitmap();
pictureBox.Image = bitmap ?? pictureBox.ErrorImage;
}
При получении изображения все работает нормально.Но как только я maximize
мой MainForm
, я получил System.ArgumentException
с Parameter is not valid
сообщением:

Похоже, этоошибка .NET Framework, но, возможно, есть способ ее исправить с помощью override
ing OnPaint()
метода PictureBox
control?
Кто-нибудь видел эту ошибку ранее?
Спасибозаранее.
PS Во время разработки этого проекта я использую следующее программное обеспечение:
- Windows 10 x64
- Visual Studio 2017 Community Edition
- .NETFramework 4.5.1
- fo-dicom версия 3.0.2
РЕДАКТИРОВАТЬ # 1
Та же проблема с Panel
вместоPictureBox
:
