/// <summary> /// При изменении выделенного аккорда в визуальном списке отображает на картинке его зажатые лады, название и начальный лад /// при удалении аккорда, идет смена активного элемента и значение устантанавливается в нулевое положение (иначе null) /// </summary> private void ListOfChordNamesListBox_SelectedIndexChanged(object sender, EventArgs e) { if (ListOfChordNamesListBox.SelectedItem != null) { if (_listOfChords.Chords.Find(x => x.Name == ListOfChordNamesListBox.SelectedItem.ToString()) != null) { _graphic = GridPictureBox.CreateGraphics(); GridPictureBox.Refresh(); Chord selectedChord = _listOfChords.Chords.Find(x => x.Name == ListOfChordNamesListBox.SelectedItem.ToString()); // Временный класс для работы с ним ChordNameLabel.Text = ListOfChordNamesListBox.SelectedItem.ToString(); ChordBeginFretLabel.Text = _listOfChords.Chords.Find(x => x.Name == ListOfChordNamesListBox.SelectedItem.ToString()).BeginFret.ToString(); for (int i = 0; i < selectedChord.Points.Count; i++) { _draw.DrawPoint(_graphic, selectedChord.Points[i].X, selectedChord.Points[i].Y); } } } else { ListOfChordNamesListBox.SelectedIndex = -1; ChordBeginFretLabel.Text = ""; ChordNameLabel.Text = ""; GridPictureBox.Refresh(); } }
/// <summary> /// При нажатии создает точку где зажимается аккорд. Записывает координаты во временный контейнер /// </summary> private void GridPictureBox_MouseDown(object sender, MouseEventArgs e) { _graphic = GridPictureBox.CreateGraphics(); if (e.X > 50 && e.X < 230 && e.Y > 50 && e.Y < 260) { _tempCoordinatesList.Add(_draw.Point(e.X, e.Y, _graphic)); } }