Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何再次显示隐藏的子窗体_C#_.net_Winforms - Fatal编程技术网

C# 如何再次显示隐藏的子窗体

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) {

我需要再次显示隐藏的表单。但是当我尝试form.show()或form.visible=true时,我得到了这个错误

System.Windows.Forms.dll中发生类型为“System.AccessViolationException”的未处理异常

其他信息:尝试读取或写入受保护内存。这通常表示其他内存已损坏

这是我显示隐藏表单的代码:

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函数的代码发布一个新的问题!或者你可以更新它。。