Прикрепленное изображение не заполнится
Я поставлен в тупик по этой проблеме. У меня есть изображение, которое находится в Panel1 формы SplitContainer. Изображение представляет собой файл TIFF, который содержится в "старом" Kodak Image Control (axImgEdit1). Когда форма открыта, изображение отображается правильно, но когда вы максимизируете форму, щелкнув по значку "max" (верхний левый угол формы), изображение не изменится и заполнит Panel1. Все размеры изменяются, кроме изображения, которое остается в своем первоначальном размере!
Это нормально работает. У меня есть другая программа, которая использует тот же код для отображения изображения в формате TIFF, и размер изображения корректно изменяется, чтобы заполнить максимальную форму. Я проверил свой код и все идентично!
Вот код для отображения изображения:
axImgEdit1.Image = currentPath;
axImgEdit1.DisplayScaleAlgorithm = ImgeditLibCtl.DisplayScaleConstants.wiScaleOptimize;
//this.Dock = DockStyle.Fill;
axImgEdit1.FitTo(0);
axImgEdit1.Display();
Я попробовал "this.Dock = DockStyle.Fill", но это не помогло. Я попытался удалить Kodak Image Control и перезагрузить его, но без исправления. Я трижды проверил другую программу, и настройки кода и управления идентичны!
Любые идеи очень приветствуются.
Спасибо боб
1 ответ
Я нашел способ решить проблему. Я до сих пор не уверен, почему идентичный код из двух программ ведет себя по-разному. Поэтому мое решение использует событие Form_Resize. Для этой проблемы максимизируемой формой является "ViewDwg". Меня беспокоит только состояние "Развернуть", а не "Развернуть". Я закомментировал строку "if (ViewDwg.ActiveForm.WindowState == FormWindowState.Maximized)", потому что она будет зависать на линии во время тестирования. Без него работает нормально.
private void ViewDwg_Resize(object sender, EventArgs e)
{
//if (ViewDwg.ActiveForm.WindowState == FormWindowState.Maximized)
//---this is used to maximize the dwg when user clicks on the Form's maximize icon in the upper right corner of the form (ViewDwg) //---added 1-25-13
axImgEdit1.DisplayScaleAlgorithm = ImgeditLibCtl.DisplayScaleConstants.wiScaleOptimize;
axImgEdit1.FitTo(0);
axImgEdit1.Display();
}