我有一个Winform控件,在Windowsformshost中,在WPF选项卡控件中(在WPF窗口中)。
根据Winform控件正在绘制的内容,有时它会超出WindowsFormsHost的范围,切断一些图像。
是否有任何方法确保控件保持在边界内,或者重绘/缩放图像以保持在边界内?
编辑:我实际上能够解决这个问题。在将Winform控件复制到WindowsFormsHost之前,我做了如下操作:
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
this.PerformAutoScale();整个映像集自己缩放以保持在主机控制范围内。
编辑2:看起来this.PerformAutoScale();是不必要的。简单地设置AutoScaleMode就可以了。
发布于 2015-04-24 15:28:56
我已经成功地使用了几种不同的形式。以下选项对我都有效,以确保窗体中的所有Winform控件都显示在WindowsFormsHost的范围内:
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;或
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Inherit;有时(取决于控件包含的内容)
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;除了简单地设置AutoScaleMode之外,没有必要调用任何其他调整大小的函数/方法。
https://stackoverflow.com/questions/29798331
复制相似问题