myDataGridView.Focus();
for (int j = 0; j <= Obj_Size.Length; j++)
{                    
    for (int k = 0; k <= Bag_Volume; k++)
    {       
        SendKeys.Send(Result_Rec[j, k].ToString());             //事实上我样本写的最后位是25
        System.Threading.Thread.Sleep(50);
        SendKeys.Flush();
        if (j != Obj_Size.Length || k != Bag_Volume) //最后一个不用按TAB键
        {
            SendKeys.Send("{TAB}");
            System.Threading.Thread.Sleep(50);
            SendKeys.Flush();
        }
    }
}
myDataGridView.AllowUserToAddRows = false;//不允许用户输入,就不会在末尾产生新行了
System.Threading.Thread.Sleep(1000);
//this.Focus();                           //焦点先移开myDataGridView也解决不了问题
//System.Threading.Thread.Sleep(1000);
r = myDataGridView.Rows.Count-1;
c = myDataGridView.Columns.Count-1;
int result=Convert.ToInt32(myDataGridView.Rows[r].Cells[c].Value)//无论我输入什么,最后一个数怎么得到的总是0?

解决方案 »

  1.   

    int result=Convert.ToInt32(myDataGridView.Rows[r].Cells[c].Value)
    改成
    int result=Convert.ToInt32(myDataGridView.Rows[r].Cells[c].Text)
    试试
      

  2.   

    把int result=Convert.ToInt32(myDataGridView.Rows[r].Cells[c].Value)//无论我输入什么,最后一个数怎么得到的总是0?
    改为:
    int result=Convert.ToInt32(myDataGridView.Rows[r].Cells[c].EditedFormattedValue)
    或者在取值之前先
    myDataGridView.EndEdit();//将dataGridView结束编辑状态
      

  3.   

    1楼的那个:myDataGridView.Rows[r].Cells[c].Text根本就没这个,只有Value型的
    3楼的不明白,脱题了.2,4楼的方法都行.