C# 如何在手动绘制的控件内绘制手动绘制的控件?

C# 如何在手动绘制的控件内绘制手动绘制的控件?,c#,onpaint,C#,Onpaint,我在C语言中有两个控件,我重写OnPaint(),自己绘制所有的视觉效果 我想在另一个控件中添加一个控件 我应该在父控件的OnPaint()中添加什么来调用子控件的OnPaint()?您没有指定winforms,但这似乎很可能是基于您的问题 您可能正在调用Invalidate()或Refresh(),这取决于您内心的愿望 控件上的Refresh()应使控件及其子项重新绘制 如果对控件调用Invalidate(true),则子控件还应接收Invalidate消息。没有真参数的Invalidate(

我在C语言中有两个控件,我重写
OnPaint()
,自己绘制所有的视觉效果

我想在另一个控件中添加一个控件


我应该在父控件的
OnPaint()
中添加什么来调用子控件的
OnPaint()

您没有指定winforms,但这似乎很可能是基于您的问题

您可能正在调用Invalidate()或Refresh(),这取决于您内心的愿望

控件上的Refresh()应使控件及其子项重新绘制


如果对控件调用Invalidate(true),则子控件还应接收Invalidate消息。没有真参数的Invalidate()不是递归的。

不需要放入任何内容,使父控件无效,也应该使其子控件无效。您是在看到问题之前询问的。结果我只是忘记了执行此操作。Controls.Add(myControl);