//zmiana rodzaju elementu private void pictureBox_RN_DoubleClick(object sender, EventArgs e) { int index = int.Parse(((PictureBox)(sender)).Name[13].ToString()) - 1; ChangeElement change = new ChangeElement(index, RN_type[index]); change.ShowDialog(); if (change.isUpdated == false) { return; } RN_type[index] = change.value + 1; Label label = (Label)Controls.Find("label_RN" + (index + 1) + "_type", true).FirstOrDefault(); switch (change.value) { case 0: label.Text = "I^2 * a"; break; case 1: label.Text = "b * pierw(I)"; break; case 2: label.Text = "sin(I*a) - cos(I/b)"; break; } ClearResults(); }
//zmiana rodzaju elementu private void pictureBox_Z11_DoubleClick(object sender, EventArgs e) { //odczytanie nazwy klikniętego elementu, przypisanie wartości dla potrzebnych parametrów string objName = ((PictureBox)sender).Name.Substring(((PictureBox)sender).Name.LastIndexOf('_') + 1); char objtype = Controls.Find("label_" + objName + "_val", true).FirstOrDefault().Text[0]; //odczyt wartości danego elementu, sprawdzenie czy jest to liczba double objValue; try { objValue = double.Parse(Controls.Find("textBox_" + objName + "_Value", true).FirstOrDefault().Text); } catch (Exception) { MessageBox.Show("Wartość tego elementu nie jest poprawna (nie jest liczbą)", "Błędna wartość parametru", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } //odczyt wybranego przedrostka int objMulti = ((ComboBox)Controls.Find("comboBox_" + objName + "_multi", true).FirstOrDefault()).SelectedIndex; //otworzenie nowego formularza oraz przekazanie do niego wymaganych parametrów ChangeElement change = new ChangeElement(objName, objtype, objValue, objMulti); change.ShowDialog(); //sprawdzenie, czy wystąpiły zmiany if (change.isUpdated == false) { return; } //nadpisanie parametrów Controls.Find("label_" + objName, true).FirstOrDefault().Text = change.objType + change.objIndex; Controls.Find("label_" + objName + "_val", true).FirstOrDefault().Text = change.objType + change.objIndex; Controls.Find("textBox_" + objName + "_Value", true).FirstOrDefault().Text = change.value.ToString(); //utworzenie nowej listy parametrów pasujących do wybranego typu elementu //aktualizacja symbolu elementu ComboBox comBox = (ComboBox)Controls.Find("comboBox_" + objName + "_multi", true).FirstOrDefault(); switch (change.objType) { case 'R': if (change.objIndex[0] == '2') { ((PictureBox)sender).Image = Properties.Resources.resistor_v; } else { ((PictureBox)sender).Image = Properties.Resources.resistor_h; } comBox.Items.Clear(); comBox.Items.Insert(0, "MOhm"); comBox.Items.Insert(1, "kOhm"); comBox.Items.Insert(2, "Ohm"); comBox.Items.Insert(3, "mOhm"); comBox.Items.Insert(4, "uOhm"); comBox.Items.Insert(5, "nOhm"); comBox.Items.Insert(6, "pOhm"); break; case 'L': if (change.objIndex[0] == '2') { ((PictureBox)sender).Image = Properties.Resources.coil_v; } else { ((PictureBox)sender).Image = Properties.Resources.coil_h; } comBox.Items.Clear(); comBox.Items.Insert(0, "MH"); comBox.Items.Insert(1, "kH"); comBox.Items.Insert(2, "H"); comBox.Items.Insert(3, "mH"); comBox.Items.Insert(4, "uH"); comBox.Items.Insert(5, "nH"); comBox.Items.Insert(6, "pH"); break; case 'C': if (change.objIndex[0] == '2') { ((PictureBox)sender).Image = Properties.Resources.capacitor_v; } else { ((PictureBox)sender).Image = Properties.Resources.capacitor_h; } comBox.Items.Clear(); comBox.Items.Insert(0, "MF"); comBox.Items.Insert(1, "kF"); comBox.Items.Insert(2, "F"); comBox.Items.Insert(3, "mF"); comBox.Items.Insert(4, "uF"); comBox.Items.Insert(5, "nF"); comBox.Items.Insert(6, "pF"); break; } ((ComboBox)Controls.Find("comboBox_" + objName + "_multi", true).FirstOrDefault()).SelectedIndex = change.multiIndex; //wyczyszczenie dotychczasowych wyników ClearResults(); }