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

問題を解決する方法を見つけました。2 つのプログラムの同一のコードが異なる動作をする理由はまだわかりません。したがって、私のソリューションでは 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 に答える