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?
改成
int result=Convert.ToInt32(myDataGridView.Rows[r].Cells[c].Text)
试试
改为:
int result=Convert.ToInt32(myDataGridView.Rows[r].Cells[c].EditedFormattedValue)
或者在取值之前先
myDataGridView.EndEdit();//将dataGridView结束编辑状态
3楼的不明白,脱题了.2,4楼的方法都行.