Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/329.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# 事件形式的混乱_C#_.net_Winforms_Form Load - Fatal编程技术网

C# 事件形式的混乱

C# 事件形式的混乱,c#,.net,winforms,form-load,C#,.net,Winforms,Form Load,在这里,如果我没有在消息框中单击“确定”,我的发件人将不会显示 (将等待我单击) 如何解决这个问题 如何使窗体首先显示或如何使窗体不等待单击“确定”您不需要使用MessageBox,您必须创建一个显示消息的新窗体。 新的表单将在一个新的消息循环上运行,所以如果您喜欢调用它,它将不会阻塞ui myForm.Show(),其中myForm是表单的实例。您不需要使用MessageBox,您必须创建一个新的表单来显示消息。 新的表单将在一个新的消息循环上运行,所以如果您喜欢调用它,它将不会阻塞ui my

在这里,如果我没有在消息框中单击“确定”,我的发件人将不会显示 (将等待我单击) 如何解决这个问题
如何使窗体首先显示或如何使窗体不等待单击“确定”

您不需要使用
MessageBox
,您必须创建一个显示消息的新
窗体。
新的
表单
将在一个新的消息循环上运行,所以如果您喜欢调用它,它将不会阻塞ui


myForm.Show()
,其中
myForm
是表单的实例。

您不需要使用
MessageBox
,您必须创建一个新的
表单来显示消息。
新的
表单
将在一个新的消息循环上运行,所以如果您喜欢调用它,它将不会阻塞ui


myForm.Show()
,其中
myForm
是表单的实例。

事件
Form1\u Load
与它听起来的完全一样,因此如果在那里插入某种
MessageBox
,则
表单只会在响应之后加载


考虑在
表单加载后使用另一种方法。

事件
Form1\u load
与听起来完全一样,因此如果在那里插入某种
消息框
,则
表单只会在响应后加载


考虑使用另一种方法,在加载
表单之后。

简单,只需将MessageBox代码移动到
显示的
事件

private void Form1_Load(object sender, EventArgs e)
    {
        MessageBox.Show("Luanching.... This may take a few second");
............
    }

很简单,只需将MessageBox代码移动到所示的
事件

private void Form1_Load(object sender, EventArgs e)
    {
        MessageBox.Show("Luanching.... This may take a few second");
............
    }

另一种选择是在表单上放置backgroundworker。然后在事件中,doubleclik on'DoWork'在随后在代码中创建的方法中,放置messagebox.show。
这样,messagebox将显示在一个单独的线程中,表单的加载将继续

另一个选项是在表单上放置backgroundworker。然后在事件中,doubleclik on'DoWork'在随后在代码中创建的方法中,放置messagebox.show。
这样,messagebox将显示在一个单独的线程中,表单加载将继续

如果您没有有效的理由,请不要否决它!事实上,斯利拉姆·萨基维尔。你的回答对这个问题来说是一个很好的选择。@real_yggdrasil我不知道哪个numpty投了反对票:(@SriramSakthivel,我不是下行投票者,但可能在
中显示它
事件终止了消息的目的。
表单加载
可能需要2分钟,在此期间,用户应该能够看到此消息。使用您的代码,用户将在
表单加载
完成操作后看到消息work@Habib你绝对是一个合作伙伴正确。我刚刚回答了如何解决这个问题,如何使窗体首先显示?答案仅取决于问题。如果OP询问如何加快窗体加载或类似的问题,我的答案是将cpu密集型代码移动到另一个线程或使用“启动屏幕”如果你没有一个合理的理由,不要投反对票!确实是Sriram Sakthivel。你的回答对这个问题来说是一个非常好的选择。@real_yggdrasil我不知道哪个numpty投了反对票:(@SriramSakthivel,我不是下行投票者,但可能在
中显示它
事件终止了消息的目的。
表单加载
可能需要2分钟,在此期间,用户应该能够看到此消息。使用您的代码,用户将在
表单加载
完成操作后看到消息work@Habib你绝对是一个合作伙伴正确。我刚刚回答了如何解决这个问题,如何使窗体首先显示?答案仅取决于问题。如果OP询问如何加快窗体加载或类似的问题,我的答案是将cpu密集型代码移动到另一个线程或使用“启动屏幕”更不用说了。我有一个程序,一次使用大约25个独立的线程,每个线程只有几kb的内存(这是一个线程池)。是您在线程内所做的事情可能会导致内存使用。更不用说。我有一个程序,一次使用大约25个单独的线程,每个线程只有几kb的内存(这是一个线程池)。是您在线程内所做的事可能会导致内存使用。