我想显示一个名为TTT的表单,所以我尝试了以下操作:

public static TTT ttt_local = new TTT();

private void button1_Click(object sender, EventArgs e)
{
    ttt_local.Show();
}


然后,我想从内部关闭窗体,以便在按下ttt_local中的按钮时ttt_local会自行关闭。那行得通,但是如果我想重新打开ttt_local,我会得到一个ObjectDisposedException。有谁可以帮助我吗?

最佳答案

您不需要让表单自行关闭,但是您可以设置其可见性或直接隐藏它(同样适用于显示表单):

消费者代码:

var ttt = new TTT();
ttt.Show();


TTT级:

public class TTT : Form
{
    private void button2_Click(object sender, EventArgs e)
    {
        this.Hide();
    }
}


现在,在使用者代码中而不是表单类本身中再次调用ttt.Show()

或者,您可以使用Form.Visibility设置表单的可见性。

09-19 20:42