/* * События контрола */ #region private void TextTimePeriodLeave(object sender, EventArgs e) /// <summary> /// Когда пользователь ввел интервал времени и уходит с контрола мы проверяем данные и приводим их в нужный формат - например удаляем лишние пробелы /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void TextTimePeriodLeave(object sender, EventArgs e) { TimeSpan time1, time2; if (UsefulMethods.ParseTimePeriod(textTimePeriod.Text, out time1, out time2)) { textTimePeriod.Text = UsefulMethods.TimePeriodToString(time1, time2); } }
/// <summary> /// Пользователь ввел изменения в интервал времени, изменяем разницу /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void textTakeOffLDG_TextChanged(object sender, EventArgs e) { TimeSpan time1, time2; if (UsefulMethods.ParseTimePeriod(textTakeOffLDG.Text, out time1, out time2)) { textFlight.Text = UsefulMethods.TimeToString(UsefulMethods.GetDifference(time2, time1)); } else { textFlight.Text = ""; } }
/* * Реализация */ #region private bool ValidateTimePeriod(TextBox textBox) /// <summary> /// Проверяем введенный интервал времени /// </summary> /// <returns></returns> private bool ValidateTimePeriod(TextBox textBox) { TimeSpan time1, time2; if (!UsefulMethods.ParseTimePeriod(textBox.Text, out time1, out time2)) { SimpleBalloon.Show(textBox, ToolTipIcon.Warning, "Incorrect time format", "Please enter the time period in the following format:\nHH.MM - HH.MM"); return(false); } // return(true); }
/* * Перегружаемые методы */ #region public override void ApplyChanges() /// <summary> /// Применить к объекту сделанные изменения на контроле. /// Если не все данные удовлетворяют формату ввода (например при вводе чисел), свойства объекта не изменяются, возвращается false /// Вызов base.ApplyChanges() обязателен /// </summary> /// <returns></returns> public override void ApplyChanges() { if (Flight != null) { TimeSpan time1, time2; UsefulMethods.ParseTimePeriod(textOutIn.Text, out time1, out time2); Flight.OutTime = time1; Flight.InTime = time2; UsefulMethods.ParseTimePeriod(textTakeOffLDG.Text, out time1, out time2); Flight.TakeOffTime = time1; Flight.LdgTime = time2; } // base.ApplyChanges(); }
/* * Перегружаемые методы */ #region public override void ApplyChanges() /// <summary> /// Применить к объекту сделанные изменения на контроле. /// Если не все данные удовлетворяют формату ввода (например при вводе чисел), свойства объекта не изменяются, возвращается false /// Вызов base.ApplyChanges() обязателен /// </summary> /// <returns></returns> public override void ApplyChanges() { if (Flight != null && Flight.FluidsCondition != null) { // Hydraulic Fluid //Flight.FluidsCondition.HydraulicFluidAdded = UsefulMethods.StringToDouble(textAdded.Text); //Flight.FluidsCondition.HydraulicFluidOnBoard = UsefulMethods.StringToDouble(textOnBoard.Text); // De Iceing Flight.FluidsCondition.GroundDeIce = checkDeIce.Checked; TimeSpan time1, time2; UsefulMethods.ParseTimePeriod(textTimePeriod.Text, out time1, out time2); Flight.FluidsCondition.AntiIcingStartTime = time1; Flight.FluidsCondition.AntiIcingEndTime = time2; Flight.FluidsCondition.AntiIcingFluidType = textFluidType.Text; Flight.FluidsCondition.AEACode = textAEACode.Text; } base.ApplyChanges(); }