我对这个问题很难过。我有一个形式在SplitContainer形式的Panel1中的图像。该图像是TIFF文件,包含在“旧”柯达图像控件(axImgEdit1)中。打开表单时,图像会正确显示,但是当您通过单击“最大图标”(表单的左上角)最大化表单时,图像不会调整大小并填充Panel1。除了保持原始尺寸的图像外,所有内容都会调整大小!
这通常有效。我有另一个程序使用相同的代码来显示TIFF图像,图像正确调整大小以填充最大形式。我检查了我的代码,一切都是一样的!
以下是显示图片的代码:
axImgEdit1.Image = currentPath;
axImgEdit1.DisplayScaleAlgorithm = ImgeditLibCtl.DisplayScaleConstants.wiScaleOptimize;
//this.Dock = DockStyle.Fill;
axImgEdit1.FitTo(0);
axImgEdit1.Display();
我尝试了“this.Dock = DockStyle.Fill”,但它没有帮助。 我尝试删除柯达图像控件并重新加载但没有修复。 我已经对其他程序进行了三重检查,代码和控制设置完全相同!
非常感谢任何想法。
谢谢, 鲍勃
答案 0 :(得分:0)
我找到了解决问题的方法。我仍然不确定为什么来自两个程序的相同代码表现不同。所以我的解决方案使用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();
}