首页 > 解决方案 > Winforms:防止自动绘制子控件

问题描述

我正在创建一个能够基于笛卡尔坐标平移、缩放和显示项目的控件/用户控件。我实际上有这些功能适用于内部测试图像。

我想将此视为一个通用的、可重复使用的面板,我可以在其中添加标准控件/用户控件,并根据平移和缩放来绘制它们。

在paint 方法中,我可以调用Controls DrawToBitmap 函数来部分完成此操作。但是,这最终会绘制子控件两次:一次在面板的 OnPaint 方法中,就像我想要的那样,另外一次在框架中的其他地方。并且,使用此框架调用,填充、缩放和笛卡尔坐标将被忽略。

是否有一种标准方法可以控制 UserControl 的绘制过程,以便防止子控件自行绘制?或者,或者,对传递给子对象的 Graphics 对象应用缩放和变换以达到相同的效果?

谢谢

标签: .netvb.netwinformsgdi+

解决方案


推荐阅读