【发布时间】:2017-04-24 11:45:35
【问题描述】:
在 datagridview 中,当我编辑单元格的内容并进行一些更改时,我想验证我输入的每个字符。 我很困惑,哪个事件适合这个。我尝试了 cellvaluechanged 事件。但它只发生在 第一次单击单元格时。但我想验证每次我在单元格内输入。请告诉 我哪个活动适合这个。
我尝试了什么:
private void dataGridView1_CellValueChanged(object sender,
DataGridViewCellEventArgs e){
if(dataGridView1.Columns[e.ColumnIndex].Name == "Reference")
{
//My code goes here
}
}
【问题讨论】:
-
在
_CellValueChanged事件处理程序中放置一个断点,更改一些值并查看它是否达到断点,在我看来,每次更改值时它肯定会达到断点然后重新定义/优化您的条件。 -
是否可以更具体地说明您想要进行哪种验证?内置功能可以在用户键入时完成单元格验证或格式化用户输入。目前尚不清楚您要验证的确切内容。
-
例如,一种允许单元格中只允许数字字符的可能方法,然后您可以连接
EditingControlShowing事件以捕获正在编辑单元格时。从那里您可以检查正在编辑的单元格是否在您只想允许数字输入的列中(例如第 1 列),然后在EditingControlShowing内连接另一个事件方法,例如“Column1_KeyPress”。从那里你可以处理用户输入的字符,在这个例子中......忽略任何不是数字的字符。
标签: c# .net winforms events datagridview