在我的一个form上 对OK这个button点击时 private void Btn_OK_Click(object sender, EventArgs e)
        {
            //.........
            //.........
            //Check if the configuration path is null
           if(ckx_SaveLog.Checked&&txt_LogPath.Text=="")
           {
               MessageBox.Show("日志路径不能为空", "错误");
           }
           else
           {
             //............
           }
         }在点击messagebox的OK按钮之后,当前的这个form也关闭了 ,为什么,debug也没看到走到this.close();

解决方案 »

  1.   

    ckx_SaveLog.Checked&&txt_LogPath.Text==""
    这个有问题吧!
    ckx_SaveLog.Checked这个在开始的时候要设置成false
      

  2.   

    把Btn_OK_Click(object sender, EventArgs e)中所有内容try catch,然后调试是否抛异常导致的
      

  3.   

     
    这个没问题,就是提示 checkbox打钩时,textbox里不能为空,初时的时候checkbox是不打勾的,
    我的程序里 除了以上的else里 有this.close();以及cancle 按钮有this.close();其他没有,我也不清楚messagebox点击之后,为什么原来的form也关闭。
      

  4.   

    private void Btn_OK_Click(object sender, EventArgs e)
            {
                //.........
                //.........
                //Check if the configuration path is null
               if(ckx_SaveLog.Checked&&txt_LogPath.Text=="")
               {
                   MessageBox.Show("日志路径不能为空", "错误");               this.DialogResult = DialogResult.None;
               }
               else
               {
                 //............
               }
             }
      

  5.   

    就是弹出框之后你没做其他操作,所以自动关闭了,如4楼设置一下DialogResult就好