【发布时间】:2018-05-01 11:32:13
【问题描述】:
单击一个按钮(在主窗体中),我会显示一个(第二个)窗体,它对存档文件进行一些解析(解压缩、提取、获取信息等)。完成此过程后,我关闭第二个(解析)表单并显示另一个(第三个)包含存档中已解析信息的表单。
点击回调如下所示:
private void ParseInputBackupButton_Click(object sender, EventArgs e)
{
Form PBF = new ParseBackupForm();
Form CBF = new CreateBackupForm();
PBF.FormClosed += delegate
{
CBF.ShowDialog();
};
PBF.ShowDialog();
}
还有第二种形式:
private void ParseBackupForm_Load(object sender, EventArgs e)
{
new Thread((ThreadStart)delegate
{
// parse and update form
this.Invoke((MethodInvoker)delegate
{
this.Close();
});
}).Start();
}
问题是当第三个表单(CreateBackupForm)出现时,第二个表单(ParseBackupForm)没有关闭。他们都出现了。如果我不显示第三个表单,第二个表单就会关闭。
我做错了什么?
【问题讨论】: