public GroupPerformanceForm(Root root) { InitializeComponent(); _root = root; // селектор оценок foreach (var item in typeof(Grade).GetEnumValues()) { var value = new EnumCover() { Item = (Grade)item }; cbGrade.Items.Add(value); } // селектор предметов foreach (var item in _root.Matters) { cbMatters.Items.Add(item); } if (cbMatters.Items.Count > 0) { cbMatters.SelectedItem = _matter = (Matter)cbMatters.Items[0]; } // селектор групп, добавляем "непустые" группы foreach (var item in _root.StudyGroups) { if (_root.Students.Any(x => x.IdStudyGroup == item.IdStudyGroup)) { cbStudyGroups.Items.Add(item); } } if (cbStudyGroups.Items.Count > 0) { cbStudyGroups.SelectedItem = _group = (StudyGroup)cbStudyGroups.Items[0]; } // селектор семестров _semester = root.Semesters.FirstOrDefault(x => x.Number == 1); foreach (var item in _root.Semesters) { cbSemesters.Items.Add(item); } cbSemesters.SelectedItem = _semester; panel1.Enabled = _semester != null; cbMatters_SelectionChangeCommitted(null, new EventArgs()); }
private void lvPerformance_MouseMove(object sender, MouseEventArgs e) { var item = lvPerformance.GetItemAt(e.Location.X, e.Location.Y); if (item == null) { cbGrade.Visible = false; lvPerformance.FocusedItem = null; return; } var rect = lvPerformance.GetItemRect(item.Index, ItemBoundsPortion.ItemOnly); rect.Offset(lvPerformance.Columns[0].Width + lvPerformance.Columns[1].Width + 2, 0); rect.Width = lvPerformance.Columns[2].Width; if (rect.Contains(e.Location)) { cbGrade.Location = rect.Location; cbGrade.Width = rect.Width; cbGrade.Visible = true; var performance = (Performance)item.Tag; lvPerformance.FocusedItem = item; cbGrade.Tag = performance; var cover = new EnumCover { Item = performance.Grade }; foreach (var m in cbGrade.Items.Cast <EnumCover>()) { if (m.Item.ToString() == cover.Item.ToString()) { cbGrade.SelectedItem = m; } } } else { cbGrade.Visible = false; } }