2013-01-24 50 views
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」,但它並沒有幫助。 我試圖刪除柯達圖像控制並重新加載它,但沒有修復。 我已經三重檢查了其他程序,代碼和控制設置完全相同!

任何想法將不勝感激。

感謝, 鮑勃

+1

軟件的行爲不像美酒,它在老化時不會變好。這是一家破產公司的18年控制權。更好地減少你的損失。 –

回答

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(); 
    }