我为绘制矢量图元编写了一个C#应用程序。对于绘图表面,我使用放置在TabControl中的Draw.DoubleBufferedPanel。当我创建新项目时,会创建一个带有新Draw.DoubleBufferedPanel的新标签页。但是在用于drowing按钮的单击事件中,我使用主要的Draw.DoubleBufferedPanel,当我创建新选项卡时,我无法在其中绘制任何内容。在新创建的项目中我需要做些什么?
答案 0 :(得分:0)
确保您的控件层次结构正确无误:
然后在MyDrawControl的绘制处理程序(而不是它的实例)中,你需要通过完整地剪切剪裁来绘制到它自己的表面(图形)。
<强>更新强>
可以找到有关如何实现执行某些自定义绘图的控件的信息here。通常,您必须编写自己的类并从控件(或其后代之一,如Button)继承并实现OnPaint()方法。在OnPaint()中,您可以使用Graphic绘画。控件可以设置为DoubleBuffered = true,因此Winforms会自动在OnPaint()代码周围应用双缓冲。