private void LoadAllAppointments(string range) { Thread th = new Thread(() => { EnableAllAppointmentsButtons(false); dgvData.SuspendLayout(); dgvData.Rows.Clear(); List <Appointment> app = q.GetAllAppointment(range); foreach (Appointment appointment in app) { dgvData.Rows.Add(appointment.ID, appointment.StartTime, appointment.EndTime, appointment.Date.ToString("yyyy-MM-dd"), appointment.CustomerName, appointment.CustomerGroup, appointment.Location, appointment.Requestor, appointment.ConfirmedBy); } dgvData.ResumeLayout(); EnableAllAppointmentsButtons(true); }); th.Start(); }