2015-04-22 56 views
0

我有一個Winforms控件,位於WPF選項卡控件(在WPF窗口中)內的Windowsformshost內。確保Winform控件保持在WPF控件內的WindowsFormsHost的邊界內

根據Winform控件的繪製方式,有時它會超出WindowsFormsHost的範圍,切斷一些圖像。

是否有任何方法可以確保控件處於邊界內,或者重繪/縮放圖像以保持邊界?

編輯:我實際上能夠解決這個問題。之前,我複製Winform控件到WindowsFormsHost,我所做的:

   this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi; 
       this.PerformAutoScale(); 

整組圖片的縮放自己留在主機控制範圍之內。

編輯2:看起來像this.PerformAutoScale();是沒有必要的。簡單地設置AutoScaleMode照顧它。

+0

如果您回答自己的問題,最好將其作爲答案並接受,以便其他用戶清楚。 –

回答

0

我已經用幾種不同的形式使用它。以下選項都爲我工作,以確保表格內是在WindowsFormsHost的範圍內顯示的所有Winform的控件:

this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi; 

this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Inherit; 

有時(根據什麼控件包含)

this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 

除了簡單地設置AutoScaleMode之外,沒有必要調用任何其他尺寸函數/方法。

相關問題