private void CloseDiagram(object sender, EventArgs e) { _diagram.Close(); _diagram.Dispose(); _diagram = null; _diagramOpened = false; }
private void OpenGlucoseDiagram(object sender, EventArgs e) { if (!_diagramOpened) { _diagramOpened = true; IList <Entry> entries; try { entries = GetLatestEntries(_config.TimeRange * 60); } catch (Exception ex) { while (ex.InnerException != null) { ex = ex.InnerException; } MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } DateTime maxTimestamp = entries.Max(x => x.Timestamp); DateTime minTimestamp = maxTimestamp.AddHours(-(_config.TimeRange + 5)); entries = entries.Where(x => x.Timestamp >= minTimestamp).ToList(); _diagram = new GlucoseDiagram(_config, entries); _diagram.LostFocus += CloseDiagram; _diagram.Show(); _diagram.Activate(); } }