C# 中的用户控件可以通过重写 OnPaint 事件来自定义绘制。如果你发现 OnPaint 事件未被触发,那么可能是因为以下几个原因:
Invalidate 方法未被调用:如果你想强制刷新控件的显示,需要调用 Invalidate 方法,否则 OnPaint 事件不会被触发。
DoubleBuffered 属性未设置:DoubleBuffered 属性是用来控制控件是否使用双缓冲的,如果不使用双缓冲可能会导致界面控件闪烁。
继承的基础控件有问题:如果你的用户控件是继承自其他控件,请确保基础控件本身没有问题,否则可能导致 OnPaint 事件无法正常工作。
这些是可能导致 OnPaint 事件未被触发的一些常见原因,如果这些方法都试过了仍然不行,请尝试提供更多的代码以及详细的错误信息进行分析。