Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 与Win表单中的_Paint()事件相比,Paint()方法的目的是什么?_C#_.net_Winforms_Performance - Fatal编程技术网

C# 与Win表单中的_Paint()事件相比,Paint()方法的目的是什么?

C# 与Win表单中的_Paint()事件相比,Paint()方法的目的是什么?,c#,.net,winforms,performance,C#,.net,Winforms,Performance,我正在使用一个WinForm应用程序,它是由以前的开发人员设计的,现在无法访问。在这个应用程序中,农场通过一些自定义代码嵌入到TabControls中。我的问题是,有没有人能帮助解释一下为什么每个表单中都有一个自定义的_Paint()函数,它是从该表单的加载事件中调用的 这个Paint()方法实际上并没有绑定到前面提到的菊花链之外的表单。这有什么用呢?在下面的代码中,您会注意到我创建了一个Paint()事件,并将部分代码移到了那里,所有内容看起来仍然是“桃色的” 有人能帮我理解这一点吗?这仅仅是

我正在使用一个WinForm应用程序,它是由以前的开发人员设计的,现在无法访问。在这个应用程序中,农场通过一些自定义代码嵌入到TabControls中。我的问题是,有没有人能帮助解释一下为什么每个表单中都有一个自定义的_Paint()函数,它是从该表单的加载事件中调用的

这个Paint()方法实际上并没有绑定到前面提到的菊花链之外的表单。这有什么用呢?在下面的代码中,您会注意到我创建了一个Paint()事件,并将部分代码移到了那里,所有内容看起来仍然是“桃色的”

有人能帮我理解这一点吗?这仅仅是因为海关的公开声明吗

        private void frmWWCModuleHost_Load(object sender, EventArgs e)
    {
        FormPaint();
    }

    public void FormPaint()
    {
        WinFormCustomHandling.ShowFormInContainerControl(tpgCaseNotes, new FrmCaseNotes());
        WinFormCustomHandling.ShowFormInContainerControl(tpgMCP, _frmWWCMCPHost);
        WinFormCustomHandling.ShowFormInContainerControl(tpgMember, _frmWWCMemberHost);
        WinFormCustomHandling.ShowFormInContainerControl(tpgEnrollment, _frmWWCEnrollmentHost);
        WinFormCustomHandling.ShowFormInContainerControl(tpgWWCSearch,_frmWWCSearch);
        WinFormCustomHandling.ShowFormInContainerControl(tpgAudit, FrmAudit);

        // Call each top-Level (visible) tabpage's form FormPaint()
        _frmWWCMCPHost.FormPaint();
    }

    private void FrmModuleHost_Paint(object sender, PaintEventArgs e)
    {
        new psTabRenderer(tclWWCModuleHost, Color.LightSteelBlue, Color.Tomato, Color.Black, Color.Black);
    }

我不确定你发布的代码是否足够让人理解。但总的来说,如果你觉得代码不自然,那就继续重构它吧。。。一步一步。

代码看起来确实很奇怪,但我认为您对“FormPaint”方法名称的理解比您应该读的更多。对我来说,它似乎只是一个“初始化”例程,基本上与绘制事件(名称除外)无关


此外,FormPaint中的任何代码似乎都会在每个表单中调用一次,而Paint事件处理程序中的任何代码都会被调用……非常感谢您的评论。我想重构代码,但我担心我遗漏了一些东西,因此我发布了;得到“专家”的指导。所以,我想做的事情,一旦我应该离开定制油漆()就是你说的…谢谢!