C# windows窗体的无加载完成事件

C# windows窗体的无加载完成事件,c#,winforms,visual-studio-2008,user-controls,C#,Winforms,Visual Studio 2008,User Controls,在windows窗体中,单击“下一步”,我需要显示其他窗体并开始一些处理。Net C中的Am编码 问题是在表单完整可见、方法被触发、处理开始以及UI看起来崩溃之前。甚至在加载控件之前就已开始处理。一旦处理完成,所有控件都可见。 实际输出必须是所有控件都应加载,然后必须开始处理。 在表单用户控件可见并完全加载之后,我需要调用该方法来开始处理 我试过了,但没有成功 新增代码: 尝试在事件结束时调用该方法,此时控件应已完成加载。如果没有,您可能需要执行一些检查,并可能创建一个自定义事件,当您满意它已

在windows窗体中,单击“下一步”,我需要显示其他窗体并开始一些处理。Net C中的Am编码

问题是在表单完整可见、方法被触发、处理开始以及UI看起来崩溃之前。甚至在加载控件之前就已开始处理。一旦处理完成,所有控件都可见。 实际输出必须是所有控件都应加载,然后必须开始处理。

在表单用户控件可见并完全加载之后,我需要调用该方法来开始处理

我试过了,但没有成功

新增代码:


尝试在事件结束时调用该方法,此时控件应已完成加载。如果没有,您可能需要执行一些检查,并可能创建一个自定义事件,当您满意它已经准备好时触发

另一个解决方案是有一个按钮,用户必须按下该按钮才能触发处理,只有在加载所有内容后才能单击该按钮

编辑:它看起来像正在发生的原因是,您正在使用控件的加载方法之一启动进程,我假设该方法不是最后一个要加载的控件,因此它在其他控件有机会加载之前开始处理。将StratProcess方法公开,并改为在父窗体的FormLoad方法中调用它,如下所示:

private void ParentForm_Load(object sender, EventArgs e)
{
     FeatureRemovalControl.StratProcess(); // Should it be called StartProcess instead?
}

请注意,尽管这仍在UI线程上进行处理,因此在发生此情况时屏幕可能会显示为“挂起”,因此我建议您将其移动到后台线程,正如其他人所建议的那样。

尝试在事件结束时调用该方法,此时控件应已完成加载。如果没有,您可能需要执行一些检查,并可能创建一个自定义事件,当您满意它已经准备好时触发

另一个解决方案是有一个按钮,用户必须按下该按钮才能触发处理,只有在加载所有内容后才能单击该按钮

编辑:它看起来像正在发生的原因是,您正在使用控件的加载方法之一启动进程,我假设该方法不是最后一个要加载的控件,因此它在其他控件有机会加载之前开始处理。将StratProcess方法公开,并改为在父窗体的FormLoad方法中调用它,如下所示:

private void ParentForm_Load(object sender, EventArgs e)
{
     FeatureRemovalControl.StratProcess(); // Should it be called StartProcess instead?
}

尽管这仍在UI线程上进行处理,但要小心,因此在发生这种情况时,屏幕可能会显示为“挂起”,因此我建议您按照其他人的建议将其移动到后台线程。

您正在调用StartProcess,它似乎会阻塞,直到从UI线程完成为止。因为WinForms重新绘制发生在该线程上,所以不会绘制任何内容,并且您的进程似乎已挂起。您应该考虑使用BackgroundWorker或其他方式异步调用StartProcess。

您正在调用StartProcess,它似乎会一直阻塞,直到从UI线程完成为止。因为WinForms重新绘制发生在该线程上,所以不会绘制任何内容,并且您的进程似乎已挂起。您应该考虑使用BackgroundWorker或其他异步调用StartProcess的方法。

如果您问我,最好的方法是开始异步处理,这样您就可以同时保持对UI和流程的完全控制


如果你问我的话,最好的方法是开始异步处理,这样你就可以同时保持对UI和进程的完全控制


我也在做同样的事情,但不工作。当从表单加载事件调用它时,该方法甚至在表单加载完成之前就开始处理,因此UI受到干扰。您用什么方法触发处理?你能发布这个代码吗?我也这么做,但不起作用。当从表单加载事件调用它时,该方法甚至在表单加载完成之前就开始处理,因此UI受到干扰。您用什么方法触发处理?你能发这个密码吗?是的,我知道。这就是我要问的。你能给我提个建议吗?是的:找个幕后工作者。是的,我知道。这就是我要问的。你能给我提个建议吗?是的,找个幕后工作者。