有两个类:
public class Form1 : System.Windows.Forms.Form
{
}
public class class2
{
    public void listen()
    {
      .......
       MessageBox.show("连接中断“);
     }
}
}
在类Form1中,启动了一个监听socket连接状态的线程(启动的是class2中的一个listen函数),如果
socket中断,就Messagebox。show一个对话框,可是这个对话框不是模式的,弹出后还是可以操作Form1,我改为MessageBox(this,"连接中断”);可是总是提示参数错误,无法将this转换为string,搞不懂,怎么才能搞成模式的呢?
请高手解答!

解决方案 »

  1.   

    不要用messagebox了,自己继承一个模态窗口再show出来吧
      

  2.   

    在线程里面就算是ShowDialog的窗体,也不是模态的
      

  3.   

    KOF2004(逆风的吻(软件发布管理快手)) 说的对string strCaption="Test";
    string strMessage="Test";
    System.Windows.Forms.MessageBoxButtons mbb=System.Windows.Forms.MessageBoxButtons.OKCancel;
    System.Windows.Forms.MessageBoxIcon mbi=System.Windows.Forms.MessageBoxIcon.Question;
    System.Windows.Forms.MessageBoxDefaultButton mbdb=System.Windows.Forms.MessageBoxDefaultButton.Button2;
    System.Windows.Forms.MessageBoxOptions mbo=System.Windows.Forms.MessageBoxOptions.ServiceNotification;
    MessageBox.Show(strMessage,strCaption,mbb,mbi,mbdb,mbo);
      

  4.   

    用这个
    mbo=System.Windows.Forms.MessageBoxOptions.ServiceNotification;注意不要加this.