/// <summary> /// Обработчик события - изменение дата/время окончания периода /// </summary> /// <param name="obj">Составной объект - календарь</param> /// <param name="ev">Аргумент события</param> protected void hdtpEnd_onValueChanged(object obj, EventArgs ev) { m_bflgClear = true; HDateTimePicker hdtpEndtimePer = obj as HDateTimePicker; DateTimeRangeValue_Changed?.Invoke(hdtpEndtimePer.LeadingValue, hdtpEndtimePer.Value); }
/// <summary> /// Обработчик события - изменение дата/время окончания периода /// </summary> /// <param name="obj">Составной объект - календарь</param> /// <param name="ev">Аргумент события</param> protected void hdtpEnd_onValueChanged(object obj, EventArgs ev) { //m_bflgClear = true; HDateTimePicker hdtpEndtimePer = obj as HDateTimePicker; if (!(DateTimeRangeValue_Changed == null)) { DateTimeRangeValue_Changed(hdtpEndtimePer.LeadingValue, hdtpEndtimePer.Value); } }
///// <summary> ///// Обработчик события - изменение дата/время начала периода ///// </summary> ///// <param name="obj">Составной объект - календарь</param> ///// <param name="ev">Аргумент события</param> //private void hdtpBegin_onValueChanged(object obj, EventArgs ev) //{ // m_dtRange.Set((obj as HDateTimePicker).Value, m_dtRange.End); // DateTimeRangeValue_Changed(this, EventArgs.Empty); //} /// <summary> /// Обработчик события - изменение дата/время окончания периода /// </summary> /// <param name="obj">Составной объект - календарь</param> /// <param name="ev">Аргумент события</param> protected void hdtpEnd_onValueChanged(object obj, EventArgs ev) { HDateTimePicker hdtpEnd = obj as HDateTimePicker; //m_dtRange.Set(hdtpEnd.LeadingValue, hdtpEnd.Value); if (!(DateTimeRangeValue_Changed == null)) { DateTimeRangeValue_Changed(hdtpEnd.LeadingValue, hdtpEnd.Value); } else { ; } }
/// <summary> /// Установка периода /// </summary> /// <param name="idPeriod"></param> public DateTimeRange SetPeriod(ID_PERIOD idPeriod) { DateTimeRange rangeRes = new DateTimeRange(); HDateTimePicker hdtpBegin = Controls.Find(INDEX_CONTROL_BASE.HDTP_BEGIN.ToString(), true)[0] as HDateTimePicker , hdtpEnd = Controls.Find(INDEX_CONTROL_BASE.HDTP_END.ToString(), true)[0] as HDateTimePicker; //Выполнить запрос на получение значений для заполнения 'DataGridView' switch (idPeriod) { case ID_PERIOD.HOUR: break; case ID_PERIOD.DAY: break; case ID_PERIOD.MONTH: hdtpBegin.Mode = hdtpEnd.Mode = HDateTimePicker.MODE.MONTH; hdtpBegin.Value = new DateTime(DateTime.Now.Year , DateTime.Now.Month , 1 , 0 , 0 , 0); break; case ID_PERIOD.YEAR: break; default: break; } rangeRes.Set(hdtpBegin.Value, hdtpEnd.Value); return(rangeRes); }
private void InitializeComponents() { Control ctrl = null; SuspendLayout(); initializeLayoutStyle(); ctrl = new ComboBox(); ctrl.Name = INDEX_CONTROL_BASE.CBX_PERIOD.ToString(); ctrl.Dock = DockStyle.Bottom; (ctrl as ComboBox).DropDownStyle = ComboBoxStyle.DropDownList; //??? точное размещенеие в коде целевого класса this.Controls.Add(ctrl); //??? добавлять для возможности последующего поиска ctrl = new ComboBox(); ctrl.Name = INDEX_CONTROL_BASE.CBX_TIMEZONE.ToString(); ctrl.Dock = DockStyle.Bottom; (ctrl as ComboBox).DropDownStyle = ComboBoxStyle.DropDownList; //??? точное (столбец, строка) размещенеие в коде целевого класса this.Controls.Add(ctrl); //??? добавлять для возможности последующего поиска (без указания столбца, строки) ctrl = new HDateTimePicker(s_dtDefault, null); ctrl.Name = INDEX_CONTROL_BASE.HDTP_BEGIN.ToString(); ctrl.Anchor = (AnchorStyles)(AnchorStyles.Left | AnchorStyles.Right); //??? точное (столбец, строка) размещенеие в коде целевого класса this.Controls.Add(ctrl); //??? добавлять для возможности последующего поиска (без указания столбца, строки) ctrl = new HDateTimePicker(s_dtDefault.AddHours(1), Controls.Find(INDEX_CONTROL_BASE.HDTP_BEGIN.ToString(), true)[0] as HDateTimePicker); ctrl.Name = INDEX_CONTROL_BASE.HDTP_END.ToString(); ctrl.Anchor = (AnchorStyles)(AnchorStyles.Left | AnchorStyles.Right); //??? точное (столбец, строка) размещенеие в коде целевого класса this.Controls.Add(ctrl); //??? добавлять для возможности последующего поиска (без указания столбца, строки) ResumeLayout(false); PerformLayout(); }
public void SetPeriod(ID_PERIOD idPeriod) { HDateTimePicker hdtpBegin = Controls.Find(INDEX_CONTROL_BASE.HDTP_BEGIN.ToString(), true)[0] as HDateTimePicker , hdtpEnd = Controls.Find(INDEX_CONTROL_BASE.HDTP_END.ToString(), true)[0] as HDateTimePicker; //Выполнить запрос на получение значений для заполнения 'DataGridView' switch (idPeriod) { case ID_PERIOD.HOUR: hdtpBegin.Value = new DateTime(DateTime.Now.Year , DateTime.Now.Month , DateTime.Now.Day , DateTime.Now.Hour , 0 , 0).AddHours(-1); hdtpEnd.Value = hdtpBegin.Value.AddHours(1); hdtpBegin.Mode = hdtpEnd.Mode = HDateTimePicker.MODE.HOUR; break; //case ID_PERIOD.SHIFTS: // hdtpBegin.Mode = HDateTimePicker.MODE.HOUR; // hdtpEnd.Mode = HDateTimePicker.MODE.HOUR; // break; case ID_PERIOD.DAY: hdtpBegin.Value = new DateTime(DateTime.Now.Year , DateTime.Now.Month , DateTime.Now.Day , 0 , 0 , 0).AddDays(-1); hdtpEnd.Value = hdtpBegin.Value.AddDays(1); hdtpBegin.Mode = hdtpEnd.Mode = HDateTimePicker.MODE.DAY; break; case ID_PERIOD.MONTH: hdtpBegin.Value = new DateTime(DateTime.Now.Year , DateTime.Now.Month , 1 , 0 , 0 , 0).AddMonths(-1); hdtpEnd.Value = hdtpBegin.Value.AddMonths(1); hdtpBegin.Mode = hdtpEnd.Mode = HDateTimePicker.MODE.MONTH; break; case ID_PERIOD.YEAR: hdtpBegin.Value = new DateTime(DateTime.Now.Year , 1 , 1 , 0 , 0 , 0).AddYears(-1); hdtpEnd.Value = hdtpBegin.Value.AddYears(1); hdtpBegin.Mode = hdtpEnd.Mode = HDateTimePicker.MODE.YEAR; break; default: break; } }
private void InitializeComponents() { //initializeLayoutStyle(); Control ctrl = new Control();; // переменные для инициализации кнопок "Добавить", "Удалить" string strPartLabelButtonDropDownMenuItem = string.Empty; int posRow = -1 // позиция по оси "X" при позиционировании элемента управления , indx = -1; // индекс п. меню для кнопки "Обновить-Загрузить" //int posColdgvTEPValues = 6; SuspendLayout(); posRow = 0; //Период расчета - подпись Label lblCalcPer = new Label(); lblCalcPer.Text = "Период расчета"; //Период расчета - значение ComboBox cbxCalcPer = new ComboBox(); cbxCalcPer.Name = INDEX_CONTROL_BASE.CBX_PERIOD.ToString(); cbxCalcPer.DropDownStyle = ComboBoxStyle.DropDownList; cbxCalcPer.Enabled = false; //Часовой пояс расчета - подпись Label lblCalcTime = new Label(); lblCalcTime.Text = "Часовой пояс расчета"; //Часовой пояс расчета - значение ComboBox cbxCalcTime = new ComboBox(); cbxCalcTime.Name = INDEX_CONTROL_BASE.CBX_TIMEZONE.ToString(); cbxCalcTime.DropDownStyle = ComboBoxStyle.DropDownList; cbxCalcTime.Enabled = false; // TableLayoutPanel tlp = new TableLayoutPanel(); tlp.AutoSize = true; tlp.AutoSizeMode = AutoSizeMode.GrowOnly; tlp.Controls.Add(lblCalcPer, 0, 0); tlp.Controls.Add(cbxCalcPer, 0, 1); tlp.Controls.Add(lblCalcTime, 1, 0); tlp.Controls.Add(cbxCalcTime, 1, 1); Controls.Add(tlp, 0, posRow); SetColumnSpan(tlp, 4); this.SetRowSpan(tlp, 1); // TableLayoutPanel tlpValue = new TableLayoutPanel(); tlpValue.RowStyles.Add(new RowStyle(SizeType.Absolute, 15F)); tlpValue.RowStyles.Add(new RowStyle(SizeType.Absolute, 35F)); tlpValue.RowStyles.Add(new RowStyle(SizeType.Absolute, 15F)); tlpValue.RowStyles.Add(new RowStyle(SizeType.Absolute, 35F)); tlpValue.Dock = DockStyle.Fill; //tlpValue.AutoSize = true; //tlpValue.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowOnly; ////Дата/время начала периода расчета - подпись Label lBeginCalcPer = new Label(); lBeginCalcPer.Dock = DockStyle.Bottom; lBeginCalcPer.Text = @"Дата/время начала периода расчета:"; ////Дата/время начала периода расчета - значения int cntDays = DateTime.DaysInMonth(s_dtDefaultAU.Year, s_dtDefaultAU.Month); int today = s_dtDefaultAU.Day; ctrl = new HDateTimePicker(s_dtDefaultAU.AddDays(-(today - 1)), null); ctrl.Name = INDEX_CONTROL_BASE.HDTP_BEGIN.ToString(); ctrl.Anchor = (AnchorStyles)(AnchorStyles.Left | AnchorStyles.Right); tlpValue.Controls.Add(lBeginCalcPer, 0, 0); tlpValue.Controls.Add(ctrl, 0, 1); //Дата/время окончания периода расчета - подпись Label lEndPer = new Label(); lEndPer.Dock = DockStyle.Top; lEndPer.Text = @"Дата/время окончания периода расчета:"; //Дата/время окончания периода расчета - значение ctrl = new HDateTimePicker(s_dtDefaultAU.AddDays(cntDays - today) , tlpValue.Controls.Find(INDEX_CONTROL_BASE.HDTP_BEGIN.ToString(), true)[0] as HDateTimePicker); ctrl.Name = INDEX_CONTROL_BASE.HDTP_END.ToString(); ctrl.Anchor = (AnchorStyles)(AnchorStyles.Left | AnchorStyles.Right); // tlpValue.Controls.Add(lEndPer, 0, 2); tlpValue.Controls.Add(ctrl, 0, 3); this.Controls.Add(tlpValue, 0, posRow = posRow + 1); SetColumnSpan(tlpValue, 4); SetRowSpan(tlpValue, 1); //Кнопки обновления/сохранения, импорта/экспорта //Кнопка - обновить ctrl = new DropDownButton(); ctrl.Name = INDEX_CONTROL_BASE.BUTTON_LOAD.ToString(); ctrl.ContextMenuStrip = new ContextMenuStrip(); indx = ctrl.ContextMenuStrip.Items.Add(new ToolStripMenuItem(@"Входные значения")); ctrl.ContextMenuStrip.Items[indx].Name = INDEX_CONTROL_BASE.MENUITEM_UPDATE.ToString(); indx = ctrl.ContextMenuStrip.Items.Add(new ToolStripMenuItem(@"Архивные значения")); ctrl.ContextMenuStrip.Items[indx].Name = INDEX_CONTROL_BASE.MENUITEM_HISTORY.ToString(); ctrl.Text = @"Загрузить"; ctrl.Dock = DockStyle.Top; //Кнопка - сохранить Button ctrlBsave = new Button(); ctrlBsave.Name = INDEX_CONTROL_BASE.BUTTON_SAVE.ToString(); ctrlBsave.Text = @"Сохранить"; ctrlBsave.Dock = DockStyle.Top; // Button ctrlExp = new Button(); ctrlExp.Name = INDEX_CONTROL_BASE.BUTTON_EXPORT.ToString(); ctrlExp.Text = @"Экспорт"; ctrlExp.Dock = DockStyle.Top; TableLayoutPanel tlpButton = new TableLayoutPanel(); tlpButton.Dock = DockStyle.Top; tlpButton.AutoSize = true; tlpButton.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowOnly; tlpButton.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25F)); tlpButton.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25F)); tlpButton.Controls.Add(ctrl, 0, 0); tlpButton.Controls.Add(ctrlBsave, 1, 0); tlpButton.Controls.Add(ctrlExp, 0, 2); this.Controls.Add(tlpButton, 0, posRow = posRow + 2); SetColumnSpan(tlpButton, 4); SetRowSpan(tlpButton, 2); //Признаки включения/исключения для отображения //Признак для включения/исключения для отображения компонента ctrl = new Label(); ctrl.Dock = DockStyle.Bottom; (ctrl as Label).Text = @"Включить/исключить компонент для отображения"; this.Controls.Add(ctrl, 0, posRow = posRow + 1); SetColumnSpan(ctrl, 4); SetRowSpan(ctrl, 1); // ctrl = new CheckedListBoxTaskReaktivka(); ctrl.Name = INDEX_CONTROL_BASE.CLBX_COMP_VISIBLED.ToString(); ctrl.Dock = DockStyle.Top; (ctrl as CheckedListBoxTaskReaktivka).CheckOnClick = true; Controls.Add(ctrl, 0, posRow = posRow + 1); SetColumnSpan(ctrl, 4); SetRowSpan(ctrl, 2); //Признак Корректировка_включена/корректировка_отключена CheckBox cBox = new CheckBox(); cBox.Name = INDEX_CONTROL_BASE.CHKBX_EDIT.ToString(); cBox.Text = @"Корректировка значений разрешена"; cBox.Dock = DockStyle.Top; cBox.Enabled = false; cBox.Checked = true; this.Controls.Add(cBox, 0, posRow = posRow + 1); SetColumnSpan(cBox, 4); SetRowSpan(cBox, 1); ResumeLayout(false); PerformLayout(); }