У меня есть приложение .NET для Windows.
У меня есть DataGridView
, в котором есть несколько строк. Я добавил столбец, содержащий кнопки, чтобы пользователь мог редактировать строку. Это выскакивает новая форма / диалог - моя форма редактирования.
// Add a CellClick handler to handle clicks in the button column.
dgv.CellClick += new DataGridViewCellEventHandler(dgv_CellClick);
Код, который запускает это:
private void dgv_CellClick(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex == buttonCell)
{
// Get the id number
int number = Convert.ToInt32(dgv.Rows[e.RowIndex].Cells[0].Value);
EditForm edit = new EditForm(number);
edit.ShowDialog();
}
}
Задача
Моя форма редактирования отображается (правильно). Я делаю свои изменения и закрываю форму. Затем он загружается снова! Это делается для того же количества строк в моей сетке. То есть. Он запускает приведенный выше код один раз для каждой строки в DataGrid.
Как я могу предотвратить это? Есть ли более элегантное решение?