private void p_BtnDoneClicked(object sender, EventArgs e) { LogPanel logPanel = sender as LogPanel; var log = db.DepartmentLog.FirstOrDefault(x => x.id == logPanel.id); if (MConvert <bool> .ToTypeOrDefault(log.done, false)) { log.done = false; } else { log.done = true; log.urgent = false; log.doneDate = DateTime.Now; logPanel.set_btnUrgent_text("加急"); } db.SubmitChanges(); bool done = MConvert <bool> .ToTypeOrDefault(log.done, false); bool urgent = MConvert <bool> .ToTypeOrDefault(log.urgent, false); logPanel.set_panel_status(done, urgent, log.doneDate, log.urgentDate, log.dueTime); }