gpt4 book ai didi

c# - 表格.Show() : Cannot access a disposed object

转载 作者:太空狗 更新时间:2023-10-29 23:07:54 25 4
gpt4 key购买 nike

我已经坚持了一段时间了。我无法在单击按钮时打开新表单。如果我在开始表单构造函数中创建和 .Show() 表单,我将工作。我不明白! :-(

启动表单

public Form1()
{
InitializeComponent();
startmessage();
br = Logic.loadXML("theshiiiiiittt.xml");
br2 = br.Clone();
loadboxes();
//serializeTest();
t = new Thread(contactDBUpdate);
//t.IsBackground = true;
t.Start();

}

按钮事件:

private void resultButton_Click(object sender, EventArgs e)
{
ResultForm rf = new ResultForm(this);
rf.Show();
this.Enabled = false;
}

希望这就足够了。

最佳答案

在我的例子中,这是因为我想让我的表单成为非模态的。所以我将它们从 form.ShowDialog(parentForm) 更改为 form.Show()

但是,如果我第二次尝试显示表单,则会导致 ObjectDisposedException,因为代码中的某处是 this.Close();Form.Close也处理它。

MSDN:

When a form is closed, all resources created within the object are closed and the form is disposed.

我只是需要改变

this.Close();

this.Hide();

关于c# - 表格.Show() : Cannot access a disposed object,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21042263/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com