确保Winform控件在WPF控件

时间:2015-04-22 12:58:32

标签: c# .net wpf winforms winforms-interop

我在WPforms选项卡控件(在WPF窗口中)内的Windowsformshost中有一个Winform控件。

根据Winform控件的绘制内容,有时它会超出WindowsFormsHost的范围,切断一些图像。

有没有办法确保控件保持在边界内,或重绘/缩放图像以保持在边界内?

编辑:我实际上能解决这个问题。在我将Winform控件复制到WindowsFormsHost之前,我做了:

jdbc

整个图像集自身缩放以保持在主机控制范围内。

编辑2:看起来没有必要 this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi; this.PerformAutoScale(); 。只需设置AutoScaleMode就可以解决它。

1 个答案:

答案 0 :(得分:0)

我已经成功地使用了几种不同的形式。以下选项对我来说都有用,以确保Form中的所有Winform控件都显示在WindowsFormsHost的范围内:

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

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

有时(取决于控件包含的内容)

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

除了简单地设置AutoScaleMode之外,没有必要调用任何其他大小调整功能/方法。