datagridview中怎么锁定焦点在一个单元格c# winform
我想实现一个单元格查错的功能,如果输入的不对,就把焦点停留在这个单元格上,用selected和currentcell好像是datagridview控件以外的是没法选中了,...
我想实现一个单元格查错的功能,如果输入的不对,就把焦点停留在这个单元格上,用selected和currentcell好像是datagridview控件以外的是没法选中了,但是别的单元格还是可以选中的。请问如何实现呢?
if (ErrorCheck_dataGridVidw(e.ColumnIndex, e.RowIndex))//如果有错误
{
//MessageBox.Show("超出范围");
showLable();
//panelF.Focus();
//dataGridView1.Focus();
//dataGridView1.CurrentCell= dataGridView1[coltemp,rowtemp];
//dataGridView1.BeginEdit(false);
//dataGridView1.ClearSelection();
dataGridView1[e.ColumnIndex, e.RowIndex].Selected = true;
//errCol = e.ColumnIndex;
//errRow = e.RowIndex;
} 这样是不行的 展开
if (ErrorCheck_dataGridVidw(e.ColumnIndex, e.RowIndex))//如果有错误
{
//MessageBox.Show("超出范围");
showLable();
//panelF.Focus();
//dataGridView1.Focus();
//dataGridView1.CurrentCell= dataGridView1[coltemp,rowtemp];
//dataGridView1.BeginEdit(false);
//dataGridView1.ClearSelection();
dataGridView1[e.ColumnIndex, e.RowIndex].Selected = true;
//errCol = e.ColumnIndex;
//errRow = e.RowIndex;
} 这样是不行的 展开
1个回答
展开全部
你验证数据的事件不对。
private void dataGridView1_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
{
if (ErrorCheck_dataGridVidw(e.ColumnIndex, e.RowIndex))//如果有错误
{
MessageBox.Show("balabala");
e.Cancel = true;//这个就是强制焦点不离开。
}
}
private void dataGridView1_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
{
if (ErrorCheck_dataGridVidw(e.ColumnIndex, e.RowIndex))//如果有错误
{
MessageBox.Show("balabala");
e.Cancel = true;//这个就是强制焦点不离开。
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询