c# - onPaint 与 form1_paint

标签 c# paint onpaint

我正在将所有内容绘制在表格上。所以我根本不需要任何控制。 目前我有一个 Form1_Paint 方法并在此事件方法内绘制所有内容。

private void Form1_Paint(object sender, PaintEventArgs e)
{
    // draw something
}

我还可以重写 OnPaint 方法。

protected override void OnPaint(PaintEventArgs e)
{
    base.OnPaint(e); // works also without this

    //draw something
}

以下哪种方法更好/我应该使用?

最佳答案

区别几乎没有。主要区别在于,如果您为同一类型创建另一个表单,则另一个表单将像第一个表单一样绘制。对于 OnPaint() 方法来说,这没有很大的区别,但对于其他函数,如单击等,值得注意的是您需要一个 Paint 事件。

一个明显的例子是按钮或其他控件。每个按钮都有其功能。如果您有 OnMouseClick() 方法,则所有按钮都将执行相同的操作,但通过 Paint 事件,您可以自定义每个按钮操作。 OnPaint() 方法对于标准对象和避免事件很有用。

关于c# - onPaint 与 form1_paint,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18504483/

相关文章:

c# - ^[A-Za-Z ][A-Za-z0-9 ]* 正则表达式?

c# - NSubstitute 中的 TargetInvocationException

Java Mousepress() 绘制图像

c++ - MFC 自定义 OnPaint 未被可靠地调用

c++ - OnPaint 更新太频繁

c# - 如何创建反向png图像?

c# - 显示表单后执行操作。

java - 用 Java 类 Android 画一条线

java - 为什么在 Java SWT Selection 监听器中新创建的元素无法显示/触发绘制事件?

c# - IKVM 在 C# 中运行 jar 实际需要什么?