C# 如何再次显示隐藏的子窗体
我需要再次显示隐藏的表单。但是当我尝试form.show()或form.visible=true时,我得到了这个错误 System.Windows.Forms.dll中发生类型为“System.AccessViolationException”的未处理异常 其他信息:尝试读取或写入受保护内存。这通常表示其他内存已损坏 这是我显示隐藏表单的代码:C# 如何再次显示隐藏的子窗体,c#,.net,winforms,C#,.net,Winforms,我需要再次显示隐藏的表单。但是当我尝试form.show()或form.visible=true时,我得到了这个错误 System.Windows.Forms.dll中发生类型为“System.AccessViolationException”的未处理异常 其他信息:尝试读取或写入受保护内存。这通常表示其他内存已损坏 这是我显示隐藏表单的代码: foreach (Form f in this.MdiChildren) { if (f.Visible == false) {
foreach (Form f in this.MdiChildren)
{
if (f.Visible == false)
{
f.Activate();
f.Visible = true;
f.TopMost = true;
}
}
隐藏表单的代码
private void HideAll()
{
foreach (Form child in this.MdiChildren)
{
child.Hide();
}
}
我想你最好使用
Show
和Hide
方法。嗨,dcg!见我上面的描述。我也试过了。得到相同的错误。请告诉我为什么我会犯这些错误@dcgNobody可以从您显示的代码中告诉您,这还不足以给出答案。该错误似乎与显示/隐藏表单无关。当MDI隐藏子级时,它会销毁该表单,并在visible为true时重新创建该表单。这是胡说八道;看不见的表单都完好无损,当然,它们保留了所有的数据和状态值。。!嗯,正如你发现的,问题不在于你发布的代码。我认为最好的做法是完全删除这个问题,然后用创建/使用ocx函数的代码发布一个新的问题!或者你可以更新它。。