private void AddObjectButton_Click(object sender, EventArgs e) // Добавление объекта пользователем { RMSettings.SettingsEdit = true; // Проверка объекта который пользователь добавляет и добавление его в список if (AddObjectComboBox.SelectedItem.ToString() == "Sphere") { objectListAdd = new Sphere(0, 0, 0, 0, 0, 0, 1); } else if (AddObjectComboBox.SelectedItem.ToString() == "Cube") { objectListAdd = new Cube(0, 0, 0, 0, 0, 0, 1); } else { throw new ArgumentNullException("Error Form1.AddObjectButton_Click()"); } using (objectListSettingsForm myform = new objectListSettingsForm()) { // Поскольку объект был добавлен в конец, редактируем последний элемент myform.index = objectList.Count - 1; myform.ShowDialog(); RMObjectListBox.Items.Clear(); for (int i = 0; i < objectList.Count; i++) { RMObjectListBox.Items.Add(objectList[i].ToListBox(i)); } } }
private void RMObjectListBox_MouseDoubleClick(object sender, MouseEventArgs e) // Если пользователь дважды кликнул на листбокс { int index = RMObjectListBox.IndexFromPoint(e.Location); // Узнать индекс объекта который находить на позиции курсора if (index != -1) // Если там был объект, открыть форму { using (objectListSettingsForm myform = new objectListSettingsForm()) { myform.index = index; // Передача индекса форме myform.ShowDialog(); RMObjectListBox.Items.Clear(); // Обновить листбокс for (int i = 0; i < objectList.Count; i++) { RMObjectListBox.Items.Add(objectList[i].ToListBox(i)); } } } }