0

我被这个问题难住了。我在表单的 SplitContainer 的 Panel1 中有一个图像。图像是包含在“旧”柯达图像控件 (axImgEdit1) 中的 TIFF 文件。打开表单时,图像会正确显示,但是当您通过单击“最大图标”(表单的左上角)最大化表单时,图像不会调整大小并填充 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 并重新加载它,但没有修复。我已经三重检查了另一个程序,代码和控制设置是相同的!

任何想法将不胜感激。

谢谢,鲍勃

4

1 回答 1

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();
    }
于 2013-01-25T17:20:27.210 回答