看不明白,你可以单步调试以下,是不是你的调用有问提?
l.ShowDialog();        在第一次已经显示了

解决方案 »

  1.   

    先检测下Rows[0]["Times"]是否为空if (Rows[0]["Times"]!=null)
    {
       ...
    }
      

  2.   

    你在语句中都加上
    try
    {
       ...
    }
    catch (Exception ex)
    {
       Console.Writeline(ex.ToString());
       //Debug.Writeline(ex.ToString());
       //MessageBox.Show(ex.ToString());
    }
    看看问题到底出在什么地方,是什么样的问题
      

  3.   

    说明一下,Rows[0]["Times"]肯定不为空,因为我曾在它之前加上 int n =Rows[0]["Times"];
    中断显示n有数值。
      

  4.   

    你试试Rows[0]["Times"] = int.Parse(Rows[0]["Times"].ToString())+1可以吗?不过有可能是Rows[0]["Times"]为null,“未将引用设置到对象的实例”需要将引用类型的实例化,这个时候最好是对所有的引用类型new,这样的情况就不会出现了……
      

  5.   

    请注意,Rows[0]["Times"])=(int)(Rows[0]["Times"])+1;是在一个循环里,前几次循环都正常的。
      

  6.   

    while (exit)
    {
    int card=r.Next(1,Max);
    string str ="AllThisMoney>="+card.ToString() ;
    DataRow[] Rows =dataSet11.Prize.Select(str);
    if (Rows.Length >0)
    {
    card_no=Rows[0]["card_no"].ToString().Trim().PadLeft(8,'0');
    NumShow(card_no);
                      //注释调这句
    //(Rows[0]["Times"])=(int)(Rows[0]["Times"])+1;  
                      //把它去了后就可以正常运行了

    //使用中间变量,不要直接用(int)转换
                      int midNum = Int32.Parse(Rows[0]["Times"]);
    Rows[0]["Times"] = midNum + 1;
                      
    if (card_no==l.Card_no.PadLeft(8,'0'))
    {
    this.label4.Text=(Rows[0]["Times"]).ToString(); }
    }
    Rows=null;}
      

  7.   

    Rows[0]["Times"]=(int)(Rows[0]["Times"])+1;  有时候用(int)不好使,不知道为什么
    Convert.ToInt32(Rows[0]["Times"])+1
      

  8.   

    if (1.dispose()){
        Form_l l = new Form_l();
    }
    1.showdialog();
      

  9.   

    2。需要System.Windows.Forms.Application.DoEvents();???
      

  10.   

    不是有没有定义变量的问题,我反复试过,只在datagrid1不绑定到dataview1就能正常运行。
    问题是为什么绑定以后为什么就会出现“未将引用设置到对象的实例”呢?