我有一个带有几列TextBox的DataGridView。我需要捕获它们完成输入数据并退出框的事件(通过Tab,Enter,鼠标单击其他位置等)
我搜索了SO和Google,看来您必须从头开始构建一个事件。我已经对发现的内容进行了多种尝试,因为我似乎找不到适合自己特定需求的解决方案。
我从事这项工作的时间超过了我愿意承认的时间,我需要帮助。
这就是我所拥有的...
// Select DataGridView EditingControlShowing Event
Private void gridData_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e) {
e.Control.TextChanged += new EventHandler(textBox_TextChanged);
Control cntObject = e.Control;
cntObject.TextChanged += textBox_TextChanged;
}
// TextBox TextChanged Event
Private void textBox_TextChanged(object sender, EventArgs e) {
// Checks to see if the AddlQty field was altered
if (gridData.Columns[e.ColumnIndex].Name == "AddlQty") {
// Validate Entry
if (e.Text is Not numeric) {
MessageBox.Show("Entry Not Valid, Only Numeric Values Accepted");
} else {
CalcFinalQty(e.RowIndex);
}
}
}
出于记录,该代码不起作用,验证为准代码,并且函数标题出现错误。对我来说重要的是
if (gridData.Columns[e.ColumnIndex].Name == "AddlQty"){ }
我只需要帮助就可以做到这一点。