DataGridView控件中的各种事件都无法直接响应Cell中内容的变化,包括KeyPress等事件,可以采用下面方法
private void dataGridViewBarcode_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
if (e.Control.GetType().Equals(typeof(DataGridViewTextBoxEditingControl)))
{
e.CellStyle.BackColor = Color.FromName("window");
DataGridViewTextBoxEditingControl textControl = e.Control as DataGridViewTextBoxEditingControl;
textControl.TextChanged += new EventHandler(textControl_TextChanged);
}
} private void textControl_TextChanged(object sender, EventArgs e)
{
this.label1.Text = ((TextBox)sender).Text;
}
注:此方法无法响应Cell中的回车键