不能使形式"靠近自己"?

Ano*_*ous 2 c# visual-studio-2010 winforms

我有一个表单,在单击按钮时打开另一个表单.当新表单打开时,我通过循环完成了一个进度条,然后我希望表单关闭.这是启动新表单的按钮单击事件.

    private void calculateButton_Click(object sender, EventArgs e)
    {

        if (checkFormComplete())
        {
            ProgressForm proForm = new ProgressForm();
            proForm.Show();
        }

    }
Run Code Online (Sandbox Code Playgroud)

以下是完成进度条的新表单的代码,该进度条应该自行关闭.

    public ProgressForm()
    {
        InitializeComponent();
        for (int i = 0; i < 101; i++)
            calculationProgress.Value = i;

        this.Close();
    }
Run Code Online (Sandbox Code Playgroud)

但是,运行这个我得到:

无法访问已处置的对象.对象名称:'ProgressForm'.

调试器指向我的主窗体的这一行:

proForm.Show();
Run Code Online (Sandbox Code Playgroud)

我不确定我理解为什么,或者正确的方法是什么.在我的新表单中的close语句之后如何调用该行?

Hof*_*off 8

表单试图在它显示之前关闭自己(因为你在构造函数中有你的代码).输入您的进度条形码,然后Close()FormLoadFormShown事件中调用.例:

private void ProgressForm_Shown(object sender, EventArgs e)
{
    for (int i = 0; i < 101; i++)
    {
        calculationProgress.Value = i;
        Application.DoEvents(); // force the form to update itself
    }

    this.Close();
}
Run Code Online (Sandbox Code Playgroud)