예제 #1
0
        //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();
        }
예제 #2
0
        //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();
        }