if(drs.Length>0)
{
MessageBox.Show(this.lv.CheckedItems[i].Tag.ToString().Trim()+"确定还是取消","提示信息",MessageBoxButtons.OKCancel,MessageBoxIcon.Question);
if(MessageBox.Show(this.lv.CheckedItems[i].Tag.ToString().Trim()+"确定还是取消","提示信息",MessageBoxButtons.OKCancel,MessageBoxIcon.Question)==DialogResult.OK)
{
   ....//执行程序
}
else
{
    return;
}
}问题出在哪呢? 得点两下它才执行

解决方案 »

  1.   

    if(drs.Length>0)
    {
    MessageBox.Show(this.lv.CheckedItems[i].Tag.ToString().Trim()+"确定还是取消","提示信息",MessageBoxButtons.OKCancel,MessageBoxIcon.Question);ok or cancel沒有作用的,程序繼續執行....if(MessageBox.Show(this.lv.CheckedItems[i].Tag.ToString().Trim()+"确定还是取消","提示信息",MessageBoxButtons.OKCancel,MessageBoxIcon.Question)==DialogResult.OK)
    {
       ....//执行程序
    }
    }
      

  2.   

    if(drs.Length>0)
    {
    if(MessageBox.Show(this.lv.CheckedItems[i].Tag.ToString().Trim()+"确定还是取消","提示信息",MessageBoxButtons.OKCancel,MessageBoxIcon.Question)==DialogResult.OK)
    {
       ....//执行程序
    }
    else
    {
        return;
    }
    }
    没必要写两次!!!
      

  3.   

    改为以下
    if(drs.Length>0)
    {
    if(MessageBox.Show(this.lv.CheckedItems[i].Tag.ToString().Trim()+"确定还是取消","提示信息",MessageBoxButtons.OKCancel,MessageBoxIcon.Question)==DialogResult.OK)
    {
       ....//执行程序
    }
    else
    {
        return;
    }
    }
      

  4.   

    第一个MessageBox没有存在的意思,不论点确定还是取消,它都会继续执行下面的语句
    想要的话,可以改成下面的
    if(drs.Length>0 && MessageBox.Show(this.lv.CheckedItems[i].Tag.ToString ().Trim()+"确定还是取消","提示信息",MessageBoxButtons.OKCancel, MessageBoxIcon.Question)==DialogResult.OK)
    {
    ....//执行程序
    }
    else
    {
    return;
    }
      

  5.   

    if(drs.Length>0)
    {
        if(MessageBox.Show(this.lv.CheckedItems[i].Tag.ToString().Trim()+"确定还是取消","提示信息",MessageBoxButtons.OKCancel,MessageBoxIcon.Question)==DialogResult.OK)
       {
            ....//执行程序
       }
       else
       {
          return;
       }
    }第一次都这样,我也弄错过
      

  6.   

    if(drs.Length>0)
    {
    if(MessageBox.Show(this.lv.CheckedItems[i].Tag.ToString().Trim()+"确定还是取消","提示信息",MessageBoxButtons.OKCancel,MessageBoxIcon.Question)==DialogResult.OK)
    {
       ....//执行程序
    }
    else
    {
        return;
    }
    }你多写了一道,虽然在if()里面,可是还是会执行的呢,先执行得到结果再来进行if比较
      

  7.   

    if(drs.Length>0)
    {
    DialogResult result = MessageBox.Show(this.lv.CheckedItems[i].Tag.ToString().Trim()+"确定还是取消","提示信息",MessageBoxButtons.OKCancel,MessageBoxIcon.Question);
    if(result == DialogResult.OK)
    {
       ....//执行程序
    }
    else
    {
        return;
    }
    }
      

  8.   

    if(drs.Length>0)
    {
    if(MessageBox.Show(this.lv.CheckedItems[i].Tag.ToString().Trim()+"确定还是取消","提示信息",MessageBoxButtons.OKCancel,MessageBoxIcon.Question)==DialogResult.OK)
    {
       ....//执行程序
    }
    else
    {
        return;
    }
    }
      

  9.   

    if(drs.Length>0)
    {
    if(MessageBox.Show(this.lv.CheckedItems[i].Tag.ToString().Trim()+"确定还是取消","提示信息",MessageBoxButtons.OKCancel,MessageBoxIcon.Question)==DialogResult.OK)
    {
       ....//执行程序
    }
    else
    {
        return;
    }
    }