有一个主窗体,里面有个button,点了以后出现一个子窗体。
form2 frm = new form2();
frm.show();问题是出现了子窗体后,我还能在主窗体上进行操作。
怎样才能在出现子窗体后,主窗体变成在后面,不能操作,只能在子窗体上进行操作。等到关闭了子窗体才能继续在主窗体上进行操作?

解决方案 »

  1.   

    ShowDialog()
    传说中的模态对话框。
      

  2.   

    哈哈
    一楼就把正确答案说了
    frm.ShowDialog();
      

  3.   

    这样是能够不点到后面的主窗体。
    现在我这有点问题,就是一关闭这个子窗体,就会出现错误。
    我用
    try{ frm.ShowDialog();}
    catch(Exception ex){ Logger.error(this, "", ex);}
    也catch不到。程序直接就跳到
    static void Main() 
    { Application.EnableVisualStyles();
      Application.Run(new frmMain());  }
    的最后一个刮号这。错误内容:
    An unhandled exception of type 'System.Runtime.InteropServices.SEHException' occurred in system.windows.forms.dllAdditional information: External component has thrown an exception.有谁碰到过类似的吗,知道大概什么问题吗?
      

  4.   

    frm.ShowDialog();
    frm.Close() ;怀疑楼主代码有问题
      

  5.   

    把你的异常捕获改为
    try{
    frm.ShowDialog();
    }
    catch(Exception ex){
    MessageBox.Show(ex.Message);
    }
    看看的frm中缺少什么东西。