Пример #1
0
            /// <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);
            }
Пример #2
0
            /// <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);
                }
            }
Пример #3
0
            ///// <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
                {
                    ;
                }
            }
Пример #4
0
            /// <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);
            }
Пример #5
0
            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();
            }
Пример #6
0
            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;
                }
            }
Пример #7
0
            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();
            }