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中的回車鍵