/// <summary> /// Dodawanie Ucznia do Listy /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnAdd_Click(object sender, EventArgs e) { // okno jest zwykłą klasą więc tworzymy jego instancję var addEditStudent = new AddEditStudent(); // event krok 6: // subskrybujemy zdarzenie - do zdarzenia zdefiniowanego w oknie w którym ono wystąpi // przypisujemy metodę ma się uruchomić w momencie wystąpienia zdarzenia addEditStudent.StudentAddedEvent += AddEditStudent_StudentAdd; addEditStudent.FormClosing += AddEditStudent_FormClosing; // okno w którym wystąpi zdarzenie addEditStudent.ShowDialog(); // event krok 7: // dobrą praktyką jest odsubskryptowanie się od zdarzenia addEditStudent.StudentAddedEvent -= AddEditStudent_StudentAdd; }
private void btnEdit_Click(object sender, EventArgs e) { // sprawdzamy, czy jakiś wiersz został zaznaczony if (dgvDiary.SelectedRows.Count == 0) { MessageBox.Show("Zaznacz ucznia, którego chcesz usunąć"); return; } // okno jest zwykłą klasą więc tworzymy jego instancję // F12 na nazwie klasy int id = Convert.ToInt32(dgvDiary.SelectedRows[0].Cells[0].Value); int rowIndex = dgvDiary.CurrentCell.RowIndex; var addEditStudent = new AddEditStudent(id); addEditStudent.FormClosing += AddEditStudent_FormClosing; addEditStudent.ShowDialog(); addEditStudent.FormClosing -= AddEditStudent_FormClosing; if (dgvDiary.RowCount >= (rowIndex + 1)) { dgvDiary.CurrentCell = dgvDiary.Rows[rowIndex].Cells[0]; //czyli wiersz z indexem id } }