Что я получил от вашего вопроса, вы хотите выбрать несколько ячеек, а затем начать печатать, и вы ожидаете, что все выбранные значения ячеек изменятся:
Для этого вы можете обработать событие EditingControlShowing
, получить элемент управления редактирования TextBox
, обработать его событие TextChanged
и обновить текст выбранных ячеек. Например:
private void Form1_Load(object sender, EventArgs e)
{
dataGridView1.ColumnCount = 4;
dataGridView1.RowCount = 4;
TextBox txt = null;
dataGridView1.EditingControlShowing += (s1, e1) =>
{
if (dataGridView1.EditingControl is TextBox)
{
if (txt == null)
{
txt = (TextBox)dataGridView1.EditingControl;
txt.TextChanged += (s2, e2) =>
{
foreach (DataGridViewCell cell in dataGridView1.SelectedCells)
cell.Value = txt.Text;
};
}
}
};
}
Код не проверяет, все ли выделенные ячейки находятся в одном столбце, однако в примере показано, как получить текст одновременно с вводом текста, а также как установить значение других выбранных ячеек.