Esempio n. 1
0
        /// <summary>
        /// Присваивает параметру значение
        /// из соответствующего элемента TextBox
        /// при изменении пользователем значения Text
        /// для TextBox
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void TextBoxChanged(object sender, EventArgs e)
        {
            //Преобразуем из object в TextBox
            var textBox = (TextBox)sender;

            //Блок ожидания ошибки
            try
            {
                //Получаем текст из элемента TextBox
                var value = double.Parse(textBox.Text);
                //Определяем имя параметра соответствующего
                //данному TextBox
                var parameterName = _formElements[textBox];
                //Присваиваем значение найденному параметру
                _modelParameters.Parameter(parameterName).Value = value;
                //Окрашиваем поле в зеленый цвет
                textBox.BackColor = Color.LightGreen;
                //При изменении длины места хвата
                if (parameterName == ParametersName.GripLength)
                {
                    //Пересчитать длину гладкой части
                    _modelParameters.CalculationLenghtConnection();
                    //Отобразить значение в TextBox
                    HandleCLTextBox.Text =
                        _modelParameters.Parameter(ParametersName.ConnectionLength).Value.ToString();
                }
                //При изменении длины рукояти
                if (parameterName == ParametersName.HandleLength)
                {
                    //Пересчитать максимальную длину места хвата
                    _modelParameters.CalculationMaxLenghtGrip();
                    //Пересчитать минимальную дину места хвата
                    _modelParameters.CalculationMinValueLenghtGrip();
                    //Расчитать текущую дину рукояти
                    _modelParameters.CalculationLenghtGrip();
                    //Отобразить значение в TextBox
                    HandleHLTextBox.Text =
                        _modelParameters.Parameter(ParametersName.GripLength).Value.ToString();
                    //Отобразить новый интервал
                    DisplayInterval(ParametersName.GripLength, IntervalHandleHLLabel);
                }
                //При изменении длины гладкой части
                if (parameterName == ParametersName.ConnectionLength)
                {
                    //Пересчитать длину гладкой части
                    _modelParameters.CalculationLenghtGrip();
                    //Отобразить поулченное значение в TextBox
                    HandleHLTextBox.Text =
                        _modelParameters.Parameter(ParametersName.GripLength).Value.ToString();
                }
            }
            //Выполняется в случае выявления ошибки в try
            catch
            {
                //Окрашиваем полу в красный цвет
                textBox.BackColor = Color.Salmon;
            }
        }
Esempio n. 2
0
        public void Test_CalculationLenghtGrip()
        {
            var modelParameters = new ModelParameters();
            var Handle          = 1100;
            var Connector       = 210;
            var expected        = Handle - Connector;

            modelParameters.Parameter(ParametersName.ConnectionLength).Value = Connector;
            modelParameters.Parameter(ParametersName.HandleLength).Value     = Handle;
            modelParameters.CalculationLenghtGrip();
            var actual = modelParameters.Parameter(ParametersName.GripLength).Value;

            Assert.AreEqual(expected, actual, "Метод CalculationLenghtGrip работает некорректно");
        }