private void buttonEdit_Click(object sender, EventArgs e) { if (checkedListBox.SelectedItem != null) { checkedListBox.SetItemChecked(checkedListBox.Items.IndexOf(checkedListBox.SelectedItem), false); checkedListBox.ClearSelected(); } if (checkedListBoxComplex.SelectedItem != null) { checkedListBoxComplex.SetItemChecked(checkedListBoxComplex.Items.IndexOf(checkedListBoxComplex.SelectedItem), false); checkedListBoxComplex.ClearSelected(); } string nameOfType = selectedShape.CurrentFigure.GetType().ToString(); if (nameOfType.Contains("ComplexShape")) { ComplexShape complexShape = (ComplexShape)selectedShape.CurrentFigure; CreateComplexShape factory = new CreateComplexShape(complexShape.Shapes, complexShape.InitWidth, complexShape.InitHeight); fabric = factory; } else { nameOfType = nameOfType.Substring(nameOfType.LastIndexOf('.') + 1); MethodInfo factoryCreator = null; foreach (Type type in factoryTypesList) { if (type.ToString().Contains(nameOfType)) { factoryCreator = type.GetMethod("getInstance"); break; } } fabric = (CreateShape)factoryCreator.Invoke(null, new object[] { }); } shapeList.Remove(selectedShape); RedrawShapes(); pen = new Pen(selectedShape.Color, selectedShape.Width); selectedShape = null; textBoxPenWidth.Text = pen.Width.ToString(); buttonColor.ForeColor = pen.Color; buttonEdit.Enabled = false; buttonRelocate.Enabled = false; }
private void checkedListBoxComplex_Click(object sender, EventArgs e) { if (checkedListBox.SelectedItem != null) { checkedListBox.SetItemChecked(checkedListBox.Items.IndexOf(checkedListBox.SelectedItem), false); checkedListBox.ClearSelected(); } for (int i = 0; i < checkedListBoxComplex.Items.Count; i++) { if (checkedListBoxComplex.Items[i] != checkedListBoxComplex.SelectedItem) { checkedListBoxComplex.SetItemChecked(checkedListBoxComplex.Items.IndexOf(checkedListBoxComplex.Items[i]), false); } } string numberOfFigure = checkedListBoxComplex.SelectedItem.ToString().Substring(6); ComplexShape complexShape = complexShapes[Convert.ToInt32(numberOfFigure) - 1]; CreateComplexShape factory = new CreateComplexShape(complexShape.Shapes, complexShape.InitWidth, complexShape.InitHeight); fabric = factory; }