datagridview单元格怎样强制设置焦点?

某个单元格限制只能输入汉字,如果输入其他字符就会清空然后焦点返回这个单元格上。dataGridView1.CurrentCell=dataGridView1[3,0];/... 某个单元格限制只能输入汉字,如果输入其他字符就会清空然后焦点返回这个单元格上。dataGridView1.CurrentCell = dataGridView1[3, 0];//焦点返回dataGridView1.BeginEdit(true);
我用CellEndEdit、CellValueChanged事件分别试过,发现输完后点别的单元格触发事件后焦点会停在单击过的那个单元格上,或者按回车触发事件 焦点就会自己跳到下一行。我想知道怎么能在输入其他字符清空这个单元格之后焦点回来而不是跑到别的地方去,谢谢
展开
 我来答
玩虐2015
2015-09-11 · TA获得超过1572个赞
知道小有建树答主
回答量:820
采纳率:0%
帮助的人:225万
展开全部
private void dataGridView1_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
{
if (ErrorCheck_dataGridVidw(e.ColumnIndex, e.RowIndex))//如果有错误
{
MessageBox.Show("balabala");
e.Cancel = true;//这个就是强制焦点不离开。
}
}
cl4651101
2014-01-07 · 超过18用户采纳过TA的回答
知道答主
回答量:74
采纳率:0%
帮助的人:48.7万
展开全部
给你个提示
//数量 限制只能输入数字
private void dgvResult_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
if (e.Control is DataGridViewTextBoxEditingControl)
{
DataGridViewTextBoxEditingControl tb = (DataGridViewTextBoxEditingControl)e.Control;
tb.KeyPress -= new KeyPressEventHandler(TextBoxDec_KeyPress);
if (dgvResult.CurrentCell.OwningColumn.Name == "Column7")
{
tb.KeyPress += new KeyPressEventHandler(TextBoxDec_KeyPress);
}
}
}

private void TextBoxDec_KeyPress(object sender, KeyPressEventArgs e)
{
//这里还可加长度判断
if ((e.KeyChar >= (Char)Keys.D0 && e.KeyChar <= (Char)Keys.D9)
|| e.KeyChar == (Char)Keys.Back)
e.Handled = false;
else
e.Handled = true;
}
上面是控制输入的。

MessageBox.Show("出货数量未填写,请填写!");
this.dgvResult.ClearSelection();
this.dgvResult.Rows[i].Cells[5].Selected = true;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式