protected INDEX_CONTROL getIndexControl(Control ctrl)
            {
                INDEX_CONTROL indxRes = INDEX_CONTROL.UNKNOWN;

                string strId = (ctrl as Control).Name;

                if (strId.Equals(INDEX_CONTROL.CLBX_COMP_CALCULATED.ToString()) == true)
                {
                    indxRes = INDEX_CONTROL.CLBX_COMP_CALCULATED;
                }
                else
                if (strId.Equals(INDEX_CONTROL.MIX_PARAMETER_CALCULATED.ToString()) == true)
                {
                    indxRes = INDEX_CONTROL.MIX_PARAMETER_CALCULATED;
                }
                else
                if (strId.Equals(INDEX_CONTROL.CLBX_COMP_VISIBLED.ToString()) == true)
                {
                    indxRes = INDEX_CONTROL.CLBX_COMP_VISIBLED;
                }
                else
                if (strId.Equals(INDEX_CONTROL.CLBX_PARAMETER_VISIBLED.ToString()) == true)
                {
                    indxRes = INDEX_CONTROL.CLBX_PARAMETER_VISIBLED;
                }
                else
                {
                    throw new Exception(@"PanelTaskTepValues::getIndexControl () - не найден объект 'CheckedListBox'...");
                }

                return(indxRes);
            }
            protected override void activateCheckedHandler(bool bActive, INDEX_ID idToActivate)
            {
                INDEX_CONTROL indxCtrl           = INDEX_CONTROL.UNKNOWN;
                TreeViewTaskTepCalcParameters tv = null;

                indxCtrl = getIndexControlOfIndexID(idToActivate);

                if (indxCtrl == INDEX_CONTROL.CLBX_PARAMETER_CALCULATED)
                {
                    tv = (Controls.Find(indxCtrl.ToString(), true)[0] as TreeViewTaskTepCalcParameters);

                    tv.ActivateCheckedHandler(bActive);

                    if (bActive == true)
                    {
                        //tv.NodeSelect += new DelegateIntFunc (onNodeSelect);
                        tv.ItemCheck += new DelegateIntIntFunc(onItemCheck);
                    }
                    else
                    {
                        //tv.NodeSelect -= onNodeSelect;
                        tv.ItemCheck -= onItemCheck;
                    }
                }
                else
                {
                    base.activateCheckedHandler(bActive, idToActivate);
                }
            }
            //private void onSelectedIndexChanged(object obj, EventArgs ev)
            //{
            //}

            //protected virtual void addItem(INDEX_ID indxId, Control ctrl, int id, string text, bool bChecked)
            //{
            //    (ctrl as CheckedListBoxTaskTepValues).AddItem(id, text, bChecked);
            //}

            /// <summary>
            /// Обработчик события - изменение значения из списка признаков отображения/снятия_с_отображения
            /// </summary>
            /// <param name="obj">Объект, инициировавший событие (список)</param>
            /// <param name="ev">Аргумент события</param>
            protected override void onItemCheck(object obj, EventArgs ev)
            {
                ItemCheckedParametersEventArgs.TYPE type;
                INDEX_CONTROL indxCtrl = INDEX_CONTROL.UNKNOWN;

                if (Enum.IsDefined(typeof(INDEX_CONTROL), (obj as Control).Name) == true)
                {
                    indxCtrl = (INDEX_CONTROL)Enum.Parse(typeof(INDEX_CONTROL), (obj as Control).Name);

                    switch (indxCtrl)
                    {
                    case INDEX_CONTROL.CLBX_COMP_CALCULATED:
                    case INDEX_CONTROL.MIX_PARAMETER_CALCULATED:
                        type = ItemCheckedParametersEventArgs.TYPE.ENABLE;
                        break;

                    case INDEX_CONTROL.CLBX_COMP_VISIBLED:
                    case INDEX_CONTROL.CLBX_PARAMETER_VISIBLED:
                    default:
                        type = ItemCheckedParametersEventArgs.TYPE.VISIBLE;
                        break;
                    }

                    PerformItemCheck((obj as IControl).SelectedId, type, (ev as ItemCheckEventArgs).NewValue);
                }
                else
                {
                    Logging.Logg().Error(string.Format(@""), Logging.INDEX_MESSAGE.NOT_SET);
                }
            }
Exemple #4
0
        /// <summary>
        /// Кол-во дней с учетом високосные/не_високосные годы в режиме «ГОД».
        /// </summary>
        /// <param name="indx">индекс контрола</param>
        private void cbxYearMapping(INDEX_CONTROL indx)
        {
            switch (indx)
            {
            case INDEX_CONTROL.DAY:
                break;

            case INDEX_CONTROL.MONTH:
                break;

            case INDEX_CONTROL.YEAR:
                if (DateTime.IsLeapYear(_value[(int)INDEX_VALUE.CURRENT].Year))
                {
                    m_tsLeading = TimeSpan.FromDays((double)INDEX_LEAP_YEAR.LEAP) - TimeSpan.FromDays(1);
                }
                else
                {
                    m_tsLeading = TimeSpan.FromDays((double)INDEX_LEAP_YEAR.NOT_LEAP) - TimeSpan.FromDays(1);
                }
                break;

            case INDEX_CONTROL.HOUR:
                break;

            default:
                break;
            }
        }
            /// <summary>
            /// Найти элемент управления на панели идентификатору
            /// </summary>
            /// <param name="indxCtrl">Идентификатор элемента управления</param>
            /// <returns></returns>
            protected Control find(INDEX_CONTROL indxCtrl)
            {
                Control ctrlRes = null;

                ctrlRes = Controls.Find(indxCtrl.ToString(), true)[0];

                return(ctrlRes);
            }
Exemple #6
0
            /// <summary>
            /// Очистить
            /// </summary>
            public override void Clear()
            {
                base.Clear();

                INDEX_CONTROL[] arIndxControlToClear = new INDEX_CONTROL[] { INDEX_CONTROL.CLBX_COMP_VISIBLED };

                Clear(arIndxControlToClear);
            }
Exemple #7
0
        /// <summary>
        /// Обработчик события - изменения значения в "ведущем" календаре
        /// </summary>
        /// <param name="obj">Объект, инициировавший событие</param>
        /// <param name="ev">Аргумент события</param>
        private void leading_ValueChanged(object obj, EventArgs ev)
        {
            HDateTimePicker objLeading = obj as HDateTimePicker;
            ComboBox        cbxYear    = null
            , cbxMonth      = null
            , cbxDay        = null
            , cbxHour       = null;
            int iDiffYear   = -1
            , cntDayInMonth = -1;

            INDEX_CONTROL indx = (ev as EventDatePartArgs).m_index;

            //??? учитывать значение в "ведущем" календаре
            iDiffYear = objLeading.Value.Year - _value[(int)INDEX_VALUE.CURRENT].Year;
            _value[(int)INDEX_VALUE.PREVIOUS] = _value[(int)INDEX_VALUE.CURRENT];
            cbxYearMapping(indx);
            _value[(int)INDEX_VALUE.CURRENT] = objLeading.Value + m_tsLeading;
            //??? учитывать значение в "ведущем" календаре

            iDiffYear -= objLeading.Value.Year - _value[(int)INDEX_VALUE.CURRENT].Year;

            cbxYear  = Controls.Find(INDEX_CONTROL.YEAR.ToString(), true)[0] as ComboBox;
            cbxMonth = Controls.Find(INDEX_CONTROL.MONTH.ToString(), true)[0] as ComboBox;
            cbxDay   = Controls.Find(INDEX_CONTROL.DAY.ToString(), true)[0] as ComboBox;
            cbxHour  = Controls.Find(INDEX_CONTROL.HOUR.ToString(), true)[0] as ComboBox;

            cbxYear.SelectedIndexChanged  -= m_arSelectIndexChangedHandlers[(int)INDEX_CONTROL.YEAR];
            cbxMonth.SelectedIndexChanged -= m_arSelectIndexChangedHandlers[(int)INDEX_CONTROL.MONTH];
            cbxDay.SelectedIndexChanged   -= m_arSelectIndexChangedHandlers[(int)INDEX_CONTROL.DAY];
            cbxHour.SelectedIndexChanged  -= m_arSelectIndexChangedHandlers[(int)INDEX_CONTROL.HOUR];

            try
            {
                cbxYear.SelectedIndex += iDiffYear;
                cbxMonth.SelectedIndex = _value[(int)INDEX_VALUE.CURRENT].Month - 1;
                cntDayInMonth          = DateTime.DaysInMonth(_value[(int)INDEX_VALUE.CURRENT].Year, _value[(int)INDEX_VALUE.CURRENT].Month);
                //if ((ev as EventDatePartArgs).m_index == INDEX_CONTROL.MONTH)
                cbxDayMapping(cntDayInMonth, false);
                //else
                //    cbxDay.SelectedIndex = _value[(int)INDEX_VALUE.CURRENT].Day - 1;
                cbxHour.SelectedIndex = _value[(int)INDEX_VALUE.CURRENT].Hour; // == 0 ? _value[(int)INDEX_VALUE.CURRENT].Hour : _value[(int)INDEX_VALUE.CURRENT].Hour - 1;
            }
            catch (Exception e)
            {
                Logging.Logg().Exception(e, @"HDateTimePicker::leading_ValueChanged (INDEX_CONTROL=" + (ev as EventDatePartArgs).m_index + @") - ...", Logging.INDEX_MESSAGE.NOT_SET);
            }

            cbxYear.SelectedIndexChanged  += m_arSelectIndexChangedHandlers[(int)INDEX_CONTROL.YEAR];
            cbxMonth.SelectedIndexChanged += m_arSelectIndexChangedHandlers[(int)INDEX_CONTROL.MONTH];
            cbxDay.SelectedIndexChanged   += m_arSelectIndexChangedHandlers[(int)INDEX_CONTROL.DAY];
            cbxHour.SelectedIndexChanged  += m_arSelectIndexChangedHandlers[(int)INDEX_CONTROL.HOUR];

            ValueChanged(this, EventArgs.Empty);
        }
            private void clearComponents()
            {
                INDEX_CONTROL[] arIndxToClear = new INDEX_CONTROL[] {
                    INDEX_CONTROL.CLBX_COMP_CALCULATED
                    , INDEX_CONTROL.CLBX_COMP_VISIBLED
                };

                for (int i = 0; i < arIndxToClear.Length; i++)
                {
                    clear(arIndxToClear[i]);
                }
            }
            private void clearParameters()
            {
                INDEX_CONTROL[] arIndxToClear = new INDEX_CONTROL[] {
                    INDEX_CONTROL.MIX_PARAMETER_CALCULATED
                    , INDEX_CONTROL.CLBX_PARAMETER_VISIBLED
                };

                for (int i = 0; i < arIndxToClear.Length; i++)
                {
                    clear(arIndxToClear[i]);
                }
            }
Exemple #10
0
            private void setButtonEnabled(INDEX_CONTROL indx, bool value)
            {
                Control ctrl = null;

                ctrl = findControl(indx.ToString());
                if (!(ctrl.Enabled == value))
                {
                    ctrl.Enabled = value;
                }
                else
                {
                    ;
                }
            }
Exemple #11
0
        private void InitializeComponent()
        {
            this.SuspendLayout();

            //Добавить кнопки
            INDEX_CONTROL i = INDEX_CONTROL.BUTTON_SAVE;

            for (i = INDEX_CONTROL.BUTTON_SAVE; i < (INDEX_CONTROL.BUTTON_UPDATE + 1); i++)
            {
                addButton(i.ToString(), (int)i, m_arButtonText[(int)i]);
            }

            //Добавить "список" словарных величин
            DataGridView dgv = new DataGridView();

            dgv.Name = INDEX_CONTROL.DGV_fTABLE.ToString();
            dgv.Dock = DockStyle.Fill;
            //Разместить эл-т упр-я
            this.Controls.Add(dgv, 1, 0);
            this.SetColumnSpan(dgv, 4);
            this.SetRowSpan(dgv, 13);

            //Запретить выделение "много" строк
            dgv.MultiSelect = false;
            //Установить режим выделения - "полная" строка
            dgv.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
            //Установить режим "невидимые" заголовки столбцов
            dgv.ColumnHeadersVisible = true;
            //Отменить возможность добавления строк
            dgv.AllowUserToAddRows = false;
            //Отменить возможность удаления строк
            dgv.AllowUserToDeleteRows = false;
            //Отменить возможность изменения порядка следования столбцов строк
            dgv.AllowUserToOrderColumns = false;
            //Не отображать заголовки строк
            dgv.RowHeadersVisible = false;

            addLabelDesc(INDEX_CONTROL.LABEL_DESC.ToString());

            this.ResumeLayout();


            //Обработчика нажатия кнопок
            ((Button)Controls.Find(INDEX_CONTROL.BUTTON_ADD.ToString(), true)[0]).Click    += new System.EventHandler(HPanelfTable_btnAdd_Click);
            ((Button)Controls.Find(INDEX_CONTROL.BUTTON_DELETE.ToString(), true)[0]).Click += new System.EventHandler(HPanelfTAble_btnDelete_Click);
            ((Button)Controls.Find(INDEX_CONTROL.BUTTON_SAVE.ToString(), true)[0]).Click   += new System.EventHandler(HPanelTepCommon_btnSave_Click);
            ((Button)Controls.Find(INDEX_CONTROL.BUTTON_UPDATE.ToString(), true)[0]).Click += new System.EventHandler(HPanelTepCommon_btnUpdate_Click);
        }
Exemple #12
0
        /// <summary>
        /// Обрабоотка клика по кнопке результат
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void PluginPrjTepFTable_ClickRez(object sender, EventArgs e)
        {
            string text   = string.Empty;
            int    m_indx = -1
            , countArg    = -1;

            //string text = ((TextBox)Controls.Find(INDEX_CONTROL.TEXTBOX_A1.ToString(), true)[0]).Text;
            //int m_indx = nameALG.IndexOf(":");
            //int countArg = Convert.ToInt32(nameALG[m_indx + 1].ToString());

            //ArgApproxi = new string[countArg + 1];

            for (INDEX_CONTROL indx = INDEX_CONTROL.TEXTBOX_A1; indx < (INDEX_CONTROL.TEXTBOX_F + 1); indx++)
            {
                TextBox tbValue = Controls.Find(indx.ToString(), true)[0] as TextBox;
            }
        }
Exemple #13
0
        /// <summary>
        /// Возвратить ранг изменившегося значения
        /// </summary>
        /// <param name="tbxValue">Поле ввода, в котором изменилось значение</param>
        /// <returns>Ранг изменившегося значения</returns>
        private FTable.FRUNK getRunkVariable(TextBox tbxValue)
        {
            FTable.FRUNK fRunkRes = FTable.FRUNK.UNKNOWN;

            for (INDEX_CONTROL indx = INDEX_CONTROL.TEXTBOX_A1; indx < INDEX_CONTROL.TEXTBOX_F; indx++)
            {
                if (tbxValue.Name.Equals(indx.ToString()) == true)
                {
                    fRunkRes = (FTable.FRUNK)(indx - INDEX_CONTROL.TEXTBOX_A1);
                    break;
                }
                else
                {
                    ;
                }
            }

            return(fRunkRes);
        }
Exemple #14
0
 /// <summary>
 /// Обработчик события - изменение значения любого из компонентов даты/времени
 /// </summary>
 private void onSelectedIndexChanged(INDEX_CONTROL indx)
 {
     //Проверить наличие ведущего объекта
     if (!(m_objLeading == null))
     {
         // изменить разность между собственным значением и значения ведущего объекта
         m_tsLeading = _value[(int)INDEX_VALUE.CURRENT] - m_objLeading.Value;
     }
     else
     {
         ;
     }
     // вызвать ВНЕШНИЙ обработчик события - изменение значения объекта
     // , но только один и только 1-ый из них
     // два обработчика когда объект ведущий (2-ой обработчик ведомого объекта)
     ValueChanged.GetInvocationList()[0].DynamicInvoke(this, new EventDatePartArgs()
     {
         m_index = indx
     });
 }
            public void AddNAlgParameter(TepCommon.HandlerDbTaskCalculate.NALG_PARAMETER nAlgPar)
            {
                CheckedListBoxTaskCalculate ctrl;
                bool bChecked = false;

                // в этих элементах управления размещаются элементы проекта - параметры алгоритма расчета
                INDEX_CONTROL[] arIndexControl = new INDEX_CONTROL[] {
                    INDEX_CONTROL.MIX_PARAMETER_CALCULATED
                    , INDEX_CONTROL.CLBX_PARAMETER_VISIBLED
                };

                foreach (INDEX_CONTROL indxCtrl in arIndexControl)
                {
                    ctrl = find(indxCtrl) as CheckedListBoxTaskCalculate;

                    if (indxCtrl == INDEX_CONTROL.MIX_PARAMETER_CALCULATED)
                    {
                        bChecked = nAlgPar.m_bEnabled;
                    }
                    else if (indxCtrl == INDEX_CONTROL.CLBX_PARAMETER_VISIBLED)
                    {
                        bChecked = nAlgPar.m_bVisibled;
                    }
                    else
                    {
                        bChecked = false;
                    }

                    if (!(ctrl == null))
                    {
                        (ctrl as CheckedListBoxTaskCalculate).AddItem(nAlgPar.m_Id, string.Format(@"[{0}]-{1}", nAlgPar.m_nAlg, nAlgPar.m_strNameShr), bChecked);
                    }
                    else
                    {
                        Logging.Logg().Error(@"PanelManagementTaskTepValues::AddNAlgParameter () - не найден элемент =" + indxCtrl.ToString(), Logging.INDEX_MESSAGE.NOT_SET);
                    }
                }
            }
            /// <summary>
            /// Добавить элемент компонент станции в списки
            ///  , в соответствии с 'arIndexIdToAdd'
            /// </summary>
            /// <param name="id">Идентификатор компонента</param>
            /// <param name="text">Текст подписи к компоненту</param>
            /// <param name="arIndexIdToAdd">Массив индексов в списке </param>
            /// <param name="arChecked">Массив признаков состояния для элементов</param>
            public void AddComponent(TepCommon.HandlerDbTaskCalculate.TECComponent comp)
            {
                Control ctrl     = null;
                bool    bChecked = false;

                // в этих элементах управления размещаются элементы проекта - компоненты станции(оборудование)
                INDEX_CONTROL[] arIndexControl = new INDEX_CONTROL[] {
                    INDEX_CONTROL.CLBX_COMP_CALCULATED
                    , INDEX_CONTROL.CLBX_COMP_VISIBLED
                };

                foreach (INDEX_CONTROL indxCtrl in arIndexControl)
                {
                    ctrl = find(indxCtrl);

                    if (indxCtrl == INDEX_CONTROL.CLBX_COMP_CALCULATED)
                    {
                        bChecked = comp.m_bEnabled;
                    }
                    else if (indxCtrl == INDEX_CONTROL.CLBX_COMP_VISIBLED)
                    {
                        bChecked = comp.m_bVisibled;
                    }
                    else
                    {
                        bChecked = false;
                    }

                    if (!(ctrl == null))
                    {
                        (ctrl as CheckedListBoxTaskCalculate).AddItem(comp.m_Id, comp.m_nameShr, bChecked);
                    }
                    else
                    {
                        Logging.Logg().Error(@"PanelManagementTaskTepValues::AddComponent () - не найден элемент для INDEX_ID=" + indxCtrl.ToString(), Logging.INDEX_MESSAGE.NOT_SET);
                    }
                }
            }
Exemple #17
0
        private void InitializeComponent()
        {
            Control ctrl = null;

            this.SuspendLayout();

            //Добавить кропки
            INDEX_CONTROL i = INDEX_CONTROL.BUTTON_SAVE;

            for (i = INDEX_CONTROL.BUTTON_SAVE; i < (INDEX_CONTROL.BUTTON_BREAK + 1); i++)
            {
                addButton(i.ToString(), (int)i, m_arButtonText[(int)i]);
            }
            //TreeView
            ctrl      = new TreeView_Users(false);
            ctrl.Name = INDEX_CONTROL.TREE_DICT_ITEM.ToString();
            ctrl.Dock = DockStyle.Fill;
            this.Controls.Add(ctrl, 1, 0);
            this.SetColumnSpan(ctrl, 6); this.SetRowSpan(ctrl, 13);

            //DGV
            ctrl      = new DataGridView_Prop_Text_Check();
            ctrl.Name = INDEX_CONTROL.DGV_DICT_PROP.ToString();
            ctrl.Dock = DockStyle.Fill;
            this.Controls.Add(ctrl, 7, 0);
            this.SetColumnSpan(ctrl, 6); this.SetRowSpan(ctrl, 10);
            addLabelDesc("PANEL_DESC");
            this.ResumeLayout();

            ((Button)Controls.Find(INDEX_CONTROL.BUTTON_SAVE.ToString(), true)[0]).Enabled = false;

            //Обработчика нажатия кнопок
            ((Button)Controls.Find(INDEX_CONTROL.BUTTON_SAVE.ToString(), true)[0]).Click  += new System.EventHandler(this.btnSave_Click);
            ((Button)Controls.Find(INDEX_CONTROL.BUTTON_BREAK.ToString(), true)[0]).Click += new System.EventHandler(this.btnBreak_Click);

            ((DataGridView_Prop_Text_Check)Controls.Find(INDEX_CONTROL.DGV_DICT_PROP.ToString(), true)[0]).EventCellValueChanged += new DataGridView_Prop.DataGridView_Prop_ValuesCellValueChangedEventHandler(this.dgvProp_CellEndEdit);
        }
Exemple #18
0
 /// <summary>
 /// Найти элемент управления на панели идентификатору
 /// </summary>
 /// <param name="indxCtrl">Идентификатор элемента управления</param>
 /// <returns>элемент панели</returns>
 protected Control find(INDEX_CONTROL indxCtrl)
 {
     return(findControl(indxCtrl.ToString()));
 }
Exemple #19
0
        /// <summary>
        /// Инициализация компонентов
        /// </summary>
        private void InitializeComponent()
        {
            DataGridView dgv = null;

            //Control ctrl = null;

            this.SuspendLayout();

            //Добавить кнопки
            INDEX_CONTROL i = INDEX_CONTROL.BUTTON_SAVE;

            for (i = INDEX_CONTROL.BUTTON_SAVE; i < (INDEX_CONTROL.BUTTON_UPDATE + 1); i++)
            {
                addButton(i.ToString(), (int)i, m_arButtonText[(int)i]);
            }

            //Поиск функции
            TextBox txtbx_find = new TextBox();

            txtbx_find.Name = INDEX_CONTROL.TEXTBOX_FIND.ToString();
            txtbx_find.Dock = DockStyle.Fill;

            //Подпись поиска
            System.Windows.Forms.Label lbl_find = new System.Windows.Forms.Label();
            lbl_find.Name = INDEX_CONTROL.LABEL_FIND.ToString();
            lbl_find.Dock = DockStyle.Bottom;
            (lbl_find as System.Windows.Forms.Label).Text = @"Поиск";

            //Группировка поиска
            //и его подписи
            TableLayoutPanel tlp = new TableLayoutPanel();

            tlp.Name         = INDEX_CONTROL.PANEL_FIND.ToString();
            tlp.Dock         = DockStyle.Fill;
            tlp.AutoSize     = true;
            tlp.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowOnly;
            tlp.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 15F));
            tlp.Controls.Add(lbl_find);
            tlp.Controls.Add(txtbx_find);
            this.Controls.Add(tlp, 1, 0);
            this.SetColumnSpan(tlp, 4);
            this.SetRowSpan(tlp, 1);

            //Таблица с функциями
            dgv      = new DataGridView();
            dgv.Name = INDEX_CONTROL.DGV_NALG.ToString();
            i        = INDEX_CONTROL.DGV_NALG;
            dgv.Dock = DockStyle.Fill;
            //Разместить эл-т упр-я
            this.Controls.Add(dgv, 1, 1);
            this.SetColumnSpan(dgv, 4);
            this.SetRowSpan(dgv, 5);

            dgv.ReadOnly = true;
            //Запретить выделение "много" строк
            dgv.MultiSelect = false;
            //Установить режим выделения - "полная" строка
            dgv.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
            //Установить режим "невидимые" заголовки столбцов
            dgv.ColumnHeadersVisible = true;
            //Отменить возможность добавления строк
            dgv.AllowUserToAddRows = false;
            //Отменить возможность удаления строк
            dgv.AllowUserToDeleteRows = false;
            //Отменить возможность изменения порядка следования столбцов строк
            dgv.AllowUserToOrderColumns = false;
            //Не отображать заголовки строк
            dgv.RowHeadersVisible = false;
            //Ширина столбцов под видимую область
            dgv.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
            //Отменить возможность изменения высоты строк
            dgv.AllowUserToResizeRows = false;
            dgv.ColumnCount           = 3;
            dgv.Columns[0].Name       = "Функция";
            dgv.Columns[1].Name       = "Описание";
            dgv.Columns[2].Name       = "ID_REC";
            dgv.Columns[2].Visible    = false;

            //Таблица с реперными точками
            dgv      = new DataGridView();
            dgv.Name = INDEX_CONTROL.DGV_VALUES.ToString();
            i        = INDEX_CONTROL.DGV_VALUES;
            dgv.Dock = DockStyle.Fill;
            //Разместить эл-т упр-я
            this.Controls.Add(dgv, 1, 6);
            this.SetColumnSpan(dgv, 4);
            this.SetRowSpan(dgv, 4);

            dgv.ReadOnly = true;
            //Запретить выделение "много" строк
            dgv.MultiSelect = false;
            //Установить режим выделения - "полная" строка
            dgv.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
            //Установить режим "невидимые" заголовки столбцов
            dgv.ColumnHeadersVisible = true;
            //Отменить возможность добавления строк
            dgv.AllowUserToAddRows = false;
            //Отменить возможность удаления строк
            dgv.AllowUserToDeleteRows = false;
            //Отменить возможность изменения порядка следования столбцов строк
            dgv.AllowUserToOrderColumns = false;
            //Не отображать заголовки строк
            dgv.RowHeadersVisible = false;
            //Ширина столбцов под видимую область
            dgv.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
            //Отменить возможность изменения высоты строк
            dgv.AllowUserToResizeRows = false;
            dgv.ColumnCount           = 5;
            dgv.Columns[0].Name       = "A1";
            dgv.Columns[0].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
            dgv.Columns[1].Name = "A2";
            dgv.Columns[1].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
            dgv.Columns[2].Name = "A3";
            dgv.Columns[2].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
            dgv.Columns[3].Name = "F";
            dgv.Columns[3].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
            dgv.Columns[4].Name    = "ID_REC";
            dgv.Columns[4].Visible = false;

            //Панель отображения графика
            this.m_zGraph_fTABLE             = new ZedGraphFTable();
            this.m_zGraph_fTABLE.m_This.Name = INDEX_CONTROL.ZGRAPH_fTABLE.ToString();
            this.m_zGraph_fTABLE.m_This.Dock = DockStyle.Fill;
            this.Controls.Add(this.m_zGraph_fTABLE.m_This, 2, 0);
            this.SetColumnSpan(this.m_zGraph_fTABLE.m_This, 8);
            this.SetRowSpan(this.m_zGraph_fTABLE.m_This, 10);
            this.m_zGraph_fTABLE.m_This.AutoScaleMode = AutoScaleMode.Font;

            //
            System.Windows.Forms.ComboBox cmb_bxParam = new ComboBox();
            cmb_bxParam.Name = INDEX_CONTROL.COMBOBOX_PARAM.ToString();
            cmb_bxParam.Dock = DockStyle.Fill;

            //Панель группировки калькулятора
            TableLayoutPanel tabl = new TableLayoutPanel();

            tabl.Name            = INDEX_CONTROL.TABLELAYOUTPANEL_CALC.ToString();
            tabl.Dock            = DockStyle.Fill;
            tabl.CellBorderStyle = System.Windows.Forms.TableLayoutPanelCellBorderStyle.None;
            tabl.AutoSizeMode    = System.Windows.Forms.AutoSizeMode.GrowAndShrink;

            //Подписи для калькулятора
            System.Windows.Forms.Label lblValue = new System.Windows.Forms.Label();
            lblValue.Dock = DockStyle.Bottom;
            lblValue.Text = @"Значение A1";
            tabl.Controls.Add(lblValue, 0, 0);
            //
            lblValue      = new System.Windows.Forms.Label();
            lblValue.Dock = DockStyle.Bottom;
            lblValue.Text = @"Значение A2";
            tabl.Controls.Add(lblValue, 1, 0);
            //
            lblValue      = new System.Windows.Forms.Label();
            lblValue.Dock = DockStyle.Bottom;
            lblValue.Text = @"Значение A3";
            tabl.Controls.Add(lblValue, 2, 0);
            //
            lblValue      = new System.Windows.Forms.Label();
            lblValue.Dock = DockStyle.Bottom;
            lblValue.Text = @"Результат";
            tabl.Controls.Add(lblValue, 0, 2);
            //
            lblValue      = new System.Windows.Forms.Label();
            lblValue.Dock = DockStyle.Bottom;
            (lblValue as System.Windows.Forms.Label).Text = @"Значение F";
            tabl.Controls.Add(lblValue, 3, 0);

            //Текстовые поля для данных калькулятора
            TextBox tbValue = new TextBox();

            tbValue.Name         = INDEX_CONTROL.TEXTBOX_A1.ToString();
            tbValue.TextChanged += tbCalcValue_onTextChanged;
            tbValue.TextAlign    = HorizontalAlignment.Right;
            tbValue.Dock         = DockStyle.Fill;
            tabl.Controls.Add(tbValue, 0, 1);

            tbValue              = new TextBox();
            tbValue.Name         = INDEX_CONTROL.TEXTBOX_A2.ToString();
            tbValue.TextChanged += tbCalcValue_onTextChanged;
            tbValue.TextAlign    = HorizontalAlignment.Right;
            tbValue.Dock         = DockStyle.Fill;
            tabl.Controls.Add(tbValue, 1, 1);

            tbValue              = new TextBox();
            tbValue.Name         = INDEX_CONTROL.TEXTBOX_A3.ToString();
            tbValue.TextChanged += tbCalcValue_onTextChanged;
            tbValue.TextAlign    = HorizontalAlignment.Right;
            tbValue.Dock         = DockStyle.Fill;
            tabl.Controls.Add(tbValue, 2, 1);

            tbValue              = new TextBox();
            tbValue.Name         = INDEX_CONTROL.TEXTBOX_F.ToString();
            tbValue.TextChanged += tbCalcValue_onTextChanged;
            tbValue.TextAlign    = HorizontalAlignment.Right;
            tbValue.Dock         = DockStyle.Fill;
            tbValue.ReadOnly     = true;
            tabl.Controls.Add(tbValue, 3, 1);

            tbValue          = new TextBox();
            tbValue.Name     = INDEX_CONTROL.TEXTBOX_REZULT.ToString();
            tbValue.Dock     = DockStyle.Fill;
            tbValue.ReadOnly = true;
            tabl.Controls.Add(tbValue, 0, 3);
            tabl.SetColumnSpan(tbValue, 2);

            Button btn_rez = new Button();

            btn_rez.Name = INDEX_CONTROL.BUTTON_CALC.ToString();
            btn_rez.Text = "REZ";
            btn_rez.Dock = DockStyle.Top;
            tabl.Controls.Add(btn_rez, 3, 3);

            tabl.RowCount = 4;
            tabl.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.AutoSize));
            tabl.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.AutoSize));
            tabl.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.AutoSize));
            tabl.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
            tabl.ColumnCount = 4;
            tabl.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
            tabl.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
            tabl.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
            tabl.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
            //
            GroupBox gpBoxCalc = new GroupBox();

            gpBoxCalc.Name = INDEX_CONTROL.GRPBOX_CALC.ToString();
            gpBoxCalc.Text = @"Калькулятор значений";
            gpBoxCalc.Dock = DockStyle.Fill;
            gpBoxCalc.Controls.Add(tabl);
            this.Controls.Add(gpBoxCalc, 0, 10);
            this.SetColumnSpan(gpBoxCalc, 5);
            this.SetRowSpan(gpBoxCalc, 3);
            //
            addLabelDesc(INDEX_CONTROL.LABEL_DESC.ToString());

            ResumeLayout(false);
            PerformLayout();

            //Обработчика нажатия кнопок
            ((Button)Controls.Find(INDEX_CONTROL.BUTTON_ADD.ToString(), true)[0]).Click    += new System.EventHandler(HPanelfTable_btnAdd_Click);
            ((Button)Controls.Find(INDEX_CONTROL.BUTTON_DELETE.ToString(), true)[0]).Click += new System.EventHandler(HPanelfTAble_btnDelete_Click);
            ((Button)Controls.Find(INDEX_CONTROL.BUTTON_SAVE.ToString(), true)[0]).Click   += new System.EventHandler(HPanelTepCommon_btnSave_Click);
            ((Button)Controls.Find(INDEX_CONTROL.BUTTON_UPDATE.ToString(), true)[0]).Click += new System.EventHandler(HPanelTepCommon_btnUpdate_Click);
            ((Button)Controls.Find(INDEX_CONTROL.BUTTON_CALC.ToString(), true)[0]).Click   += new EventHandler(PluginPrjTepFTable_ClickRez);

            //Обработчики событий
            // для отображения таблиц
            ((DataGridView)Controls.Find(INDEX_CONTROL.DGV_NALG.ToString(), true)[0]).SelectionChanged   += new EventHandler(dgvnALG_onSelectionChanged);
            ((DataGridView)Controls.Find(INDEX_CONTROL.DGV_VALUES.ToString(), true)[0]).SelectionChanged += new EventHandler(dgvValues_onSelectionChanged);
            // для поля ввода при поиске функции
            ((TextBox)Controls.Find(INDEX_CONTROL.TEXTBOX_FIND.ToString(), true)[0]).TextChanged += new EventHandler(PluginPrjTepFTable_TextChanged);
        }
Exemple #20
0
        /// <summary>
        /// Изменить доступность элементов управления
        /// </summary>
        private void enable()
        {
            Control ctrl     = null;
            bool    bEnabled = false;

            for (INDEX_CONTROL indx = (INDEX_CONTROL.UNKNOWN + 1); indx < INDEX_CONTROL.COUNT; indx++)
            {
                ctrl = Controls.Find(indx.ToString(), true)[0];
                if (Mode == MODE.UNKNOWN)
                {
                    ctrl.Enabled = false;
                }
                else
                {
                    bEnabled = _matrixEnabled[(int)_mode, (int)indx];
                    if ((!(m_objLeading == null)) &&
                        (bEnabled == true))
                    {
                        switch (Mode)
                        {
                        case MODE.DAY:
                            switch (indx)
                            {
                            case INDEX_CONTROL.DAY:
                                //bEnabled = false;
                                break;

                            case INDEX_CONTROL.MONTH:
                                //bEnabled = false;
                                break;

                            case INDEX_CONTROL.YEAR:
                                //bEnabled = false;
                                break;

                            case INDEX_CONTROL.HOUR:
                                bEnabled = false;
                                break;

                            default:
                                break;
                            }
                            break;

                        case MODE.MONTH:
                            switch (indx)
                            {
                            case INDEX_CONTROL.DAY:
                                bEnabled = false;
                                break;

                            case INDEX_CONTROL.MONTH:
                                //bEnabled = false;
                                break;

                            case INDEX_CONTROL.YEAR:
                                //bEnabled = false;
                                break;

                            case INDEX_CONTROL.HOUR:
                                bEnabled = false;
                                break;

                            default:
                                break;
                            }
                            break;

                        case MODE.YEAR:
                            switch (indx)
                            {
                            case INDEX_CONTROL.DAY:
                                bEnabled = false;
                                break;

                            case INDEX_CONTROL.MONTH:
                                bEnabled = false;
                                break;

                            case INDEX_CONTROL.YEAR:
                                //bEnabled = false;
                                break;

                            case INDEX_CONTROL.HOUR:
                                bEnabled = false;
                                break;

                            default:
                                break;
                            }
                            break;

                        case MODE.HOUR:
                            // все включено
                            break;

                        default:
                            break;
                        }
                    }
                    else
                    {
                        ;
                    }
                    ctrl.Enabled = bEnabled;
                }
            }
        }
        private void InitializeComponent()
        {
            Control ctrl = null;

            this.SuspendLayout();

            //Добавить кропки
            INDEX_CONTROL i = INDEX_CONTROL.BUTTON_SAVE;

            for (i = INDEX_CONTROL.BUTTON_SAVE; i < (INDEX_CONTROL.BUTTON_UPDATE + 1); i++)
            {
                addButton(i.ToString(), (int)i, m_arButtonText[(int)i]);
            }

            //Добавить "список" словарных величин
            ctrl      = new DataGridView();
            ctrl.Name = INDEX_CONTROL.DGV_PRJ_ITEM.ToString();
            DataGridView dgv = ctrl as DataGridView;

            dgv.Dock = DockStyle.Fill;
            //Разместить эл-т упр-я
            this.Controls.Add(dgv, 1, 0);
            this.SetColumnSpan(dgv, 4); this.SetRowSpan(dgv, 13);
            //Добавить столбец
            dgv.Columns.AddRange(new DataGridViewColumn[] {
                new DataGridViewTextBoxColumn()
            });
            //Запретить выделение "много" строк
            dgv.MultiSelect = false;
            //Установить режим выделения - "полная" строка
            dgv.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
            //Установить режим "невидимые" заголовки столбцов
            dgv.ColumnHeadersVisible = false;
            //Отменить возможность добавления строк
            dgv.AllowUserToAddRows = false;
            //Отменить возможность удаления строк
            dgv.AllowUserToDeleteRows = false;
            //Отменить возможность изменения порядка следования столбцов строк
            dgv.AllowUserToOrderColumns = false;
            //Не отображать заголовки строк
            dgv.RowHeadersVisible = false;
            //Не отображать заголовки столбцов
            dgv.ColumnHeadersVisible = false;
            //1-ый столбец (только "для чтения")
            dgv.Columns[0].ReadOnly = true;
            //Ширина столбца по ширине род./элемента управления
            dgv.Columns[0].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
            //Обработчик события "Выбор строки"
            dgv.SelectionChanged += new EventHandler(HPanelEditTree_dgvPrjItemSelectionChanged);

            //Добавить "список" свойств словарной величины
            ctrl      = new DataGridView();
            ctrl.Name = INDEX_CONTROL.DGV_PRJ_ACCESS.ToString();
            dgv       = ctrl as DataGridView;
            dgv.Dock  = DockStyle.Fill;
            //Разместить эл-т упр-я
            this.Controls.Add(dgv, 5, 0);
            this.SetColumnSpan(dgv, 8); this.SetRowSpan(dgv, 10);
            //Добавить столбцы
            (dgv).Columns.AddRange(new DataGridViewColumn[] {
                new DataGridViewTextBoxColumn()
                , new DataGridViewCheckBoxColumn()
            });
            //Отменить возможность добавления строк
            dgv.AllowUserToAddRows = false;
            //Отменить возможность удаления строк
            dgv.AllowUserToDeleteRows = false;
            //Отменить возможность изменения порядка следования столбцов строк
            dgv.AllowUserToOrderColumns = false;
            //Не отображать заголовки строк
            dgv.RowHeadersVisible = false;
            //1-ый столбец (только "для чтения")
            dgv.Columns[0].HeaderText = @"Свойство"; dgv.Columns[0].ReadOnly = true;
            //Ширина столбца по ширине род./элемента управления
            dgv.Columns[0].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
            //2-ой столбец
            dgv.Columns[1].HeaderText = @"Доступ";
            //Установить режим выделения - "полная" строка
            dgv.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
            //Ширина столбца по ширине род./элемента управления
            dgv.Columns[1].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
            //Обработчик события "Выбор строки"
            dgv.SelectionChanged += new EventHandler(HPanelEditTree_dgvPrjAccessSelectionChanged);
            //Обработчик события "Редактирование свойства"
            //dgv.CellEndEdit += new DataGridViewCellEventHandler(HPanelEditTree_dgvPrjAccessCellEndEdit);
            dgv.CellValueChanged += new DataGridViewCellEventHandler(HPanelEditTree_dgvPrjAccessCellValueChanged);

            addLabelDesc(INDEX_CONTROL.LABEL_ACCESS_DESC.ToString());

            this.ResumeLayout();

            //Обработчика нажатия кнопок
            ((Button)Controls.Find(INDEX_CONTROL.BUTTON_SAVE.ToString(), true)[0]).Click   += new System.EventHandler(HPanelTepCommon_btnSave_Click);
            ((Button)Controls.Find(INDEX_CONTROL.BUTTON_UPDATE.ToString(), true)[0]).Click += new System.EventHandler(HPanelTepCommon_btnUpdate_Click);
        }
        /// <summary>
        /// Обязательный метод для поддержки конструктора - не изменяйте
        ///  содержимое данного метода при помощи редактора кода.
        /// </summary>
        private void InitializeComponent()
        {
            this.SuspendLayout();

            //Добавить кнопки
            INDEX_CONTROL i = INDEX_CONTROL.BUTTON_ADD;

            for (i = INDEX_CONTROL.BUTTON_ADD; i < (INDEX_CONTROL.BUTTON_UPDATE + 1); i++)
            {
                addButton(i.ToString(), (int)i, m_arButtonText[(int)i]);
            }

            DataGridView dgv = new DataGridView();

            //Добавить "список" словарных величин
            dgv.Name = INDEX_CONTROL.DGV_DICT_ITEM.ToString();
            i        = INDEX_CONTROL.DGV_DICT_ITEM;
            dgv.Dock = DockStyle.Fill;
            //Разместить эл-т упр-я
            this.Controls.Add(dgv, 1, 0);
            this.SetColumnSpan(dgv, 4); this.SetRowSpan(dgv, 13);
            //Добавить столбец
            dgv.Columns.AddRange(new DataGridViewColumn[] {
                new DataGridViewTextBoxColumn()
            });
            //Запретить выделение "много" строк
            dgv.MultiSelect = false;
            //Установить режим выделения - "полная" строка
            dgv.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
            //Установить режим "невидимые" заголовки столбцов
            dgv.ColumnHeadersVisible = false;
            //Ширина столбца по ширине род./элемента управления
            dgv.Columns[0].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
            //Обработчик события "Выбор строки"
            dgv.SelectionChanged += new EventHandler(HPanelEditList_dgvDictEditSelectionChanged);
            ////Обработчик события "Редактирование строки"
            //dgv.CellStateChanged += new DataGridViewCellEventHandler(HPanelEdit_dgvDictEditCellStateChanged);
            //Обработчик события "Редактирование строки"
            dgv.CellEndEdit += new DataGridViewCellEventHandler(HPanelEditList_dgvDictEditCellEndEdit);
            //Запретить удаление строк
            dgv.AllowUserToDeleteRows = false;

            //Добавить "список" свойств словарной величины
            dgv      = new DataGridView();
            dgv.Name = INDEX_CONTROL.DGV_DICT_PROP.ToString();
            dgv.Dock = DockStyle.Fill;
            //Разместить эл-т упр-я
            this.Controls.Add(dgv, 5, 0);
            this.SetColumnSpan(dgv, 8); this.SetRowSpan(dgv, 10);
            //Добавить столбцы
            dgv.Columns.AddRange(new DataGridViewColumn[] {
                new DataGridViewTextBoxColumn()
                , new DataGridViewTextBoxColumn()
            });
            //1-ый столбец
            dgv.Columns[0].HeaderText = @"Свойство"; dgv.Columns[0].ReadOnly = true;
            //Ширина столбца по ширине род./элемента управления
            dgv.Columns[0].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
            //2-ой столбец
            dgv.Columns[1].HeaderText = @"Значение";
            //Установить режим выделения - "полная" строка
            dgv.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
            //Ширина столбца по ширине род./элемента управления
            dgv.Columns[1].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
            //Обработчик события "Выбор строки"
            dgv.SelectionChanged += new EventHandler(panelEdit_dgvPropSelectionChanged);
            ////Обработчик события "Редактирование свойства"
            //dgv.CellStateChanged += new DataGridViewCellStateChangedEventHandler(HPanelEdit_dgvDictPropStateChanged);
            //Обработчик события "Редактирование свойства"
            dgv.CellEndEdit += new DataGridViewCellEventHandler(HPanelEdit_dgvDictPropCellEndEdit);
            //Запретить удаление строк
            dgv.AllowUserToDeleteRows = false;
            //Запретить вставку строк
            dgv.AllowUserToAddRows = false;
            dgv.MultiSelect        = false;

            addLabelDesc(INDEX_CONTROL.LABEL_PROP_DESC.ToString());


            this.ResumeLayout();

            //Обработчика нажатия кнопок
            ((Button)Controls.Find(INDEX_CONTROL.BUTTON_ADD.ToString(), true)[0]).Click    += new System.EventHandler(HPanelEditList_btnAdd_Click);
            ((Button)Controls.Find(INDEX_CONTROL.BUTTON_DELETE.ToString(), true)[0]).Click += new System.EventHandler(HPanelEditList_btnDelete_Click);
            ((Button)Controls.Find(INDEX_CONTROL.BUTTON_SAVE.ToString(), true)[0]).Click   += new System.EventHandler(panelTepCommon_btnSave_onClick);
            ((Button)Controls.Find(INDEX_CONTROL.BUTTON_UPDATE.ToString(), true)[0]).Click += new System.EventHandler(panelTepCommon_btnUpdate_onClick);
        }
Exemple #23
0
        /// <summary>
        /// Инициализация элементов управления объекта (создание, размещение)
        /// </summary>
        private void InitializeComponent()
        {
            DataGridView dgv = null;

            // переменные для инициализации кнопок "Добавить", "Удалить"
            ASUTP.Control.DropDownButton btnDropDown  = null;
            int    iButtonDropDownMenuItem            = -1;
            string strPartLabelButtonDropDownMenuItem = string.Empty;

            string[]      arLabelButtonDropDownMenuItem     = new string[] { @"точку", @"функцию" };
            INDEX_CONTROL indxControlButtonDropDownMenuItem = INDEX_CONTROL.UNKNOWN;
            ToolStripItem menuItem;

            this.SuspendLayout();

            //Добавить кнопки
            INDEX_CONTROL i = INDEX_CONTROL.BUTTON_SAVE;

            for (i = INDEX_CONTROL.BUTTON_ADD; i < (INDEX_CONTROL.BUTTON_UPDATE + 1); i++)
            {
                switch (i)
                {
                case INDEX_CONTROL.BUTTON_ADD:
                case INDEX_CONTROL.BUTTON_DELETE:
                    btnDropDown = new ASUTP.Control.DropDownButton();
                    addButton(btnDropDown, i.ToString(), (int)i, m_arButtonText[(int)i]);

                    btnDropDown.ContextMenuStrip = new System.Windows.Forms.ContextMenuStrip();
                    if (i == INDEX_CONTROL.BUTTON_ADD)
                    {
                        strPartLabelButtonDropDownMenuItem = @"Добавить";
                    }
                    else
                    if (i == INDEX_CONTROL.BUTTON_DELETE)
                    {
                        strPartLabelButtonDropDownMenuItem = @"Удалить";
                    }
                    else
                    {
                        ;
                    }

                    // п.меню для операции с точкой
                    indxControlButtonDropDownMenuItem = i == INDEX_CONTROL.BUTTON_ADD ? INDEX_CONTROL.MENUITEM_ADD_POINT :
                                                        i == INDEX_CONTROL.BUTTON_DELETE ? INDEX_CONTROL.MENUITEM_DELETE_POINT : INDEX_CONTROL.UNKNOWN;
                    iButtonDropDownMenuItem = btnDropDown.ContextMenuStrip.Items.Add(new ToolStripMenuItem());
                    menuItem      = btnDropDown.ContextMenuStrip.Items[iButtonDropDownMenuItem];
                    menuItem.Text = strPartLabelButtonDropDownMenuItem + @" " + arLabelButtonDropDownMenuItem[iButtonDropDownMenuItem];
                    menuItem.Name = indxControlButtonDropDownMenuItem.ToString();

                    // п.меню для операции с функцией
                    indxControlButtonDropDownMenuItem = i == INDEX_CONTROL.BUTTON_ADD ? INDEX_CONTROL.MENUITEM_ADD_FUNCTION :
                                                        i == INDEX_CONTROL.BUTTON_DELETE ? INDEX_CONTROL.MENUITEM_DELETE_FUNCTION : INDEX_CONTROL.UNKNOWN;
                    iButtonDropDownMenuItem = btnDropDown.ContextMenuStrip.Items.Add(new ToolStripMenuItem());
                    menuItem      = btnDropDown.ContextMenuStrip.Items[iButtonDropDownMenuItem];
                    menuItem.Text = strPartLabelButtonDropDownMenuItem + @" " + arLabelButtonDropDownMenuItem[iButtonDropDownMenuItem];
                    menuItem.Name = indxControlButtonDropDownMenuItem.ToString();
                    break;

                default:
                    addButton(i.ToString(), (int)i, m_arButtonText[(int)i]);
                    break;
                }
            }

            //заблокировать кнопку добавить
            //Button btn = ((Button)Controls.Find(INDEX_CONTROL.BUTTON_ADD.ToString(), true)[0]);
            //btn.Enabled = false;

            //Поиск функции
            TextBox txtbx_find = new TextBox();

            txtbx_find.Name = INDEX_CONTROL.TEXTBOX_FIND.ToString();
            txtbx_find.Dock = DockStyle.Fill;

            //Подпись поиска
            System.Windows.Forms.Label lbl_find = new System.Windows.Forms.Label();
            lbl_find.Name = INDEX_CONTROL.LABEL_FIND.ToString();
            lbl_find.Dock = DockStyle.Bottom;
            (lbl_find as System.Windows.Forms.Label).Text = @"Поиск";

            //Группировка поиска
            //и его подписи
            TableLayoutPanel tlp = new TableLayoutPanel();

            tlp.Name         = INDEX_CONTROL.PANEL_FIND.ToString();
            tlp.Dock         = DockStyle.Fill;
            tlp.AutoSize     = true;
            tlp.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowOnly;
            tlp.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 15F));
            tlp.Controls.Add(lbl_find);
            tlp.Controls.Add(txtbx_find);
            this.Controls.Add(tlp, 1, 0);
            this.SetColumnSpan(tlp, 4);
            this.SetRowSpan(tlp, 1);

            //Таблица с функциями
            dgv      = new DataGridView();
            dgv.Name = INDEX_CONTROL.DGV_NALG.ToString();
            i        = INDEX_CONTROL.DGV_NALG;
            dgv.Dock = DockStyle.Fill;
            //Разместить эл-т упр-я
            this.Controls.Add(dgv, 1, 1);
            this.SetColumnSpan(dgv, 4);
            this.SetRowSpan(dgv, 5);

            dgv.ReadOnly = true;
            //Запретить выделение "много" строк
            dgv.MultiSelect = false;
            //Установить режим выделения - "полная" строка
            dgv.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
            //Установить режим "невидимые" заголовки столбцов
            dgv.ColumnHeadersVisible = true;
            //Отменить возможность добавления строк
            dgv.AllowUserToAddRows = false;
            //Отменить возможность удаления строк
            dgv.AllowUserToDeleteRows = false;
            //Отменить возможность изменения порядка следования столбцов строк
            dgv.AllowUserToOrderColumns = false;
            //Не отображать заголовки строк
            dgv.RowHeadersVisible = false;
            //Ширина столбцов под видимую область
            dgv.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
            //Отменить возможность изменения высоты строк
            dgv.AllowUserToResizeRows = false;
            dgv.ColumnCount           = 3;
            dgv.Columns[0].Name       = "Функция";
            dgv.Columns[1].Name       = "Описание";
            dgv.Columns[2].Name       = "ID_REC";
            dgv.Columns[2].Visible    = false;

            dgv.CellMouseDoubleClick += dgv_CellMouseDoubleClickNALG;
            dgv.CellEndEdit          += dgv_CellEndEditNALG;

            //Таблица с реперными точками
            dgv      = new DataGridView();
            dgv.Name = INDEX_CONTROL.DGV_VALUES.ToString();
            i        = INDEX_CONTROL.DGV_VALUES;
            dgv.Dock = DockStyle.Fill;
            //Разместить эл-т упр-я
            this.Controls.Add(dgv, 1, 6);
            this.SetColumnSpan(dgv, 4);
            this.SetRowSpan(dgv, 5);
            //Запретить редактирование
            dgv.ReadOnly = true;
            //Запретить выделение "много" строк
            dgv.MultiSelect = false;
            //Установить режим выделения - "полная" строка
            dgv.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
            //Установить режим "невидимые" заголовки столбцов
            dgv.ColumnHeadersVisible = true;
            //Отменить возможность добавления строк
            dgv.AllowUserToAddRows = false;
            //Отменить возможность удаления строк
            dgv.AllowUserToDeleteRows = false;
            //Отменить возможность изменения порядка следования столбцов строк
            dgv.AllowUserToOrderColumns = false;
            //Не отображать заголовки строк
            dgv.RowHeadersVisible = false;
            //Ширина столбцов под видимую область
            dgv.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
            //Отменить возможность изменения высоты строк
            dgv.AllowUserToResizeRows = false;
            dgv.ColumnCount           = 5;
            dgv.Columns[0].Name       = "A1";
            dgv.Columns[0].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
            dgv.Columns[1].Name = "A2";
            dgv.Columns[1].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
            dgv.Columns[2].Name = "A3";
            dgv.Columns[2].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
            dgv.Columns[3].Name = "F";
            dgv.Columns[3].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
            dgv.Columns[4].Name    = "ID_REC";
            dgv.Columns[4].Visible = false;
            //обработчик нажатия мышки
            dgv.CellMouseDoubleClick += dgv_CellMouseDoubleClickValue;
            //обработчик редактирования ячейки
            dgv.CellEndEdit += dgv_CellEndEditValue;

            //Панель отображения графика
            this.m_zGraph_fTABLE             = new ZedGraphFTable();
            this.m_zGraph_fTABLE.m_This.Name = INDEX_CONTROL.ZGRAPH_fTABLE.ToString();
            this.m_zGraph_fTABLE.m_This.Dock = DockStyle.Fill;
            this.Controls.Add(this.m_zGraph_fTABLE.m_This, 2, 0);
            this.SetColumnSpan(this.m_zGraph_fTABLE.m_This, 8);
            this.SetRowSpan(this.m_zGraph_fTABLE.m_This, 10);
            this.m_zGraph_fTABLE.m_This.AutoScaleMode = AutoScaleMode.Font;

            //
            System.Windows.Forms.ComboBox cmb_bxParam = new ComboBox();
            cmb_bxParam.Name = INDEX_CONTROL.COMBOBOX_PARAM.ToString();
            cmb_bxParam.Dock = DockStyle.Fill;

            //Панель группировки калькулятора
            TableLayoutPanel tabl = new TableLayoutPanel();

            tabl.Name            = INDEX_CONTROL.TABLELAYOUTPANEL_CALC.ToString();
            tabl.Dock            = DockStyle.Fill;
            tabl.CellBorderStyle = System.Windows.Forms.TableLayoutPanelCellBorderStyle.None;
            tabl.AutoSizeMode    = System.Windows.Forms.AutoSizeMode.GrowAndShrink;

            //Подписи для калькулятора
            System.Windows.Forms.Label lblValue = new System.Windows.Forms.Label();
            lblValue.Dock = DockStyle.Bottom;
            lblValue.Text = @"Значение A1";
            tabl.Controls.Add(lblValue, 0, 0);
            //
            lblValue      = new System.Windows.Forms.Label();
            lblValue.Dock = DockStyle.Bottom;
            lblValue.Text = @"Значение A2";
            tabl.Controls.Add(lblValue, 1, 0);
            //
            lblValue      = new System.Windows.Forms.Label();
            lblValue.Dock = DockStyle.Bottom;
            lblValue.Text = @"Значение A3";
            tabl.Controls.Add(lblValue, 2, 0);
            ////
            //lblValue = new System.Windows.Forms.Label();
            //lblValue.Dock = DockStyle.Bottom;
            //lblValue.Text = @"Результат";
            //tabl.Controls.Add(lblValue, 0, 2);
            //
            lblValue      = new System.Windows.Forms.Label();
            lblValue.Dock = DockStyle.Bottom;
            (lblValue as System.Windows.Forms.Label).Text = @"Значение F";
            tabl.Controls.Add(lblValue, 3, 0);

            //Текстовые поля для данных калькулятора
            TextBox tbValue = new TextBox();

            tbValue.Name         = INDEX_CONTROL.TEXTBOX_A1.ToString();
            tbValue.TextChanged += tbCalcValue_onTextChanged;
            tbValue.TextAlign    = HorizontalAlignment.Right;
            tbValue.Dock         = DockStyle.Fill;
            tabl.Controls.Add(tbValue, 0, 1);

            tbValue              = new TextBox();
            tbValue.Name         = INDEX_CONTROL.TEXTBOX_A2.ToString();
            tbValue.TextChanged += tbCalcValue_onTextChanged;
            tbValue.TextAlign    = HorizontalAlignment.Right;
            tbValue.Dock         = DockStyle.Fill;
            tabl.Controls.Add(tbValue, 1, 1);

            tbValue              = new TextBox();
            tbValue.Name         = INDEX_CONTROL.TEXTBOX_A3.ToString();
            tbValue.TextChanged += tbCalcValue_onTextChanged;
            tbValue.TextAlign    = HorizontalAlignment.Right;
            tbValue.Dock         = DockStyle.Fill;
            tabl.Controls.Add(tbValue, 2, 1);

            tbValue      = new TextBox();
            tbValue.Name = INDEX_CONTROL.TEXTBOX_F.ToString();
            //tbValue.TextChanged += tbCalcValue_onTextChanged;
            tbValue.TextAlign = HorizontalAlignment.Right;
            tbValue.Dock      = DockStyle.Fill;
            tbValue.ReadOnly  = true;
            tabl.Controls.Add(tbValue, 3, 1);

            tabl.RowCount = 4;
            tabl.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.AutoSize));
            tabl.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.AutoSize));
            tabl.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.AutoSize));
            tabl.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
            tabl.ColumnCount = 4;
            tabl.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
            tabl.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
            tabl.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
            tabl.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
            //
            GroupBox gpBoxCalc = new GroupBox();

            gpBoxCalc.Name = INDEX_CONTROL.GRPBOX_CALC.ToString();
            gpBoxCalc.Text = @"Калькулятор значений";
            gpBoxCalc.Dock = DockStyle.Fill;
            gpBoxCalc.Controls.Add(tabl);
            this.Controls.Add(gpBoxCalc, 1, 11);
            this.SetColumnSpan(gpBoxCalc, 4);
            this.SetRowSpan(gpBoxCalc, 2);
            //
            addLabelDesc(INDEX_CONTROL.LABEL_DESC.ToString());

            ResumeLayout(false);
            PerformLayout();

            //Обработчика нажатия кнопок
            btnDropDown        = ((Button)Controls.Find(INDEX_CONTROL.BUTTON_ADD.ToString(), true)[0]) as ASUTP.Control.DropDownButton;
            btnDropDown.Click += new System.EventHandler(btnAddToPoint_OnClick);
            menuItem           = (btnDropDown.ContextMenuStrip.Items.Find(INDEX_CONTROL.MENUITEM_ADD_POINT.ToString(), true)[0]);
            menuItem.Click    += new System.EventHandler(btnAddToPoint_OnClick);
            menuItem           = (btnDropDown.ContextMenuStrip.Items.Find(INDEX_CONTROL.MENUITEM_ADD_FUNCTION.ToString(), true)[0]);
            menuItem.Click    += new System.EventHandler(btnAddToFunction_OnClick);
            btnDropDown        = ((Button)Controls.Find(INDEX_CONTROL.BUTTON_DELETE.ToString(), true)[0]) as ASUTP.Control.DropDownButton;
            btnDropDown.Click += new System.EventHandler(btnDeleteToPoint_OnClick);
            menuItem           = (btnDropDown.ContextMenuStrip.Items.Find(INDEX_CONTROL.MENUITEM_DELETE_POINT.ToString(), true)[0]);
            menuItem.Click    += new System.EventHandler(btnDeleteToPoint_OnClick);
            menuItem           = (btnDropDown.ContextMenuStrip.Items.Find(INDEX_CONTROL.MENUITEM_DELETE_FUNCTION.ToString(), true)[0]);
            menuItem.Click    += new System.EventHandler(btnDeleteToFunction_OnClick);
            ((Button)Controls.Find(INDEX_CONTROL.BUTTON_SAVE.ToString(), true)[0]).Click   += new System.EventHandler(panelTepCommon_btnSave_onClick);
            ((Button)Controls.Find(INDEX_CONTROL.BUTTON_UPDATE.ToString(), true)[0]).Click += new System.EventHandler(panelTepCommon_btnUpdate_onClick);
            //((Button)Controls.Find(INDEX_CONTROL.BUTTON_CALC.ToString(), true)[0]).Click += new EventHandler(PluginPrjTepFTable_ClickRez);

            //Обработчики событий
            // для отображения таблиц
            dgv = Controls.Find(INDEX_CONTROL.DGV_NALG.ToString(), true)[0] as DataGridView;
            dgv.SelectionChanged += new EventHandler(dgvnALG_onSelectionChanged);
            //// для определения признака удаления (ФУНКЦИЮ или точку)
            //dgv.RowEnter += new DataGridViewCellEventHandler(dgvnALG_OnRowEnter);
            //dgv.Leave += new EventHandler (dgvnALG_OnLeave);
            dgv = Controls.Find(INDEX_CONTROL.DGV_VALUES.ToString(), true)[0] as DataGridView;
            dgv.SelectionChanged += new EventHandler(dgvValues_onSelectionChanged);
            //// для определения признака удаления (функцию или ТОЧКУ)
            //dgv.RowEnter += new DataGridViewCellEventHandler(dgvValues_OnRowEnter);
            //dgv.Leave += new EventHandler(dgvValues_OnLeave);
            // для поля ввода при поиске функции
            ((TextBox)Controls.Find(INDEX_CONTROL.TEXTBOX_FIND.ToString(), true)[0]).TextChanged += new EventHandler(PluginPrjTepFTable_TextChanged);
        }
Exemple #24
0
        /// <summary>
        /// Обработчик события - изменение выбранной строки
        ///  в отображении для таблицы со значениями
        /// </summary>
        /// <param name="obj">Объект, инициировавший событий (отображение таблицы значений)</param>
        /// <param name="ev">Аргумент события</param>
        private void dgvValues_onSelectionChanged(object obj, EventArgs ev)
        {
            DataGridView dgv = obj as DataGridView;

            FTable.FRUNK runk      = FTable.FRUNK.F1; // для блокировки полей ввода
            TextBox      tbValue   = null;            // элемент управления - поле для ввода текста
            int          iSelIndex = dgv.SelectedRows.Count > 0 ? dgv.SelectedRows[0].Index : -1;

            if (!(iSelIndex < 0))
            {
                // отменить обработку событий "изменение текста", очистить поля ввода калькулятора
                for (INDEX_CONTROL indx = INDEX_CONTROL.TEXTBOX_A1; indx < (INDEX_CONTROL.TEXTBOX_F + 0); indx++)
                {
                    tbValue = Controls.Find(indx.ToString(), true)[0] as TextBox;
                    if (indx < (INDEX_CONTROL.TEXTBOX_F + 0))
                    {
                        tbValue.TextChanged -= tbCalcValue_onTextChanged;
                    }
                    else
                    {
                        ;
                    }
                    tbValue.Text = string.Empty;
                }

                runk = m_zGraph_fTABLE.GetRunk(NAlg);
                // установить новые значения в поля ввода для калькулятора
                for (INDEX_CONTROL indx = INDEX_CONTROL.TEXTBOX_A1; indx < (INDEX_CONTROL.TEXTBOX_F + 1); indx++)
                {
                    tbValue      = Controls.Find(indx.ToString(), true)[0] as TextBox;
                    tbValue.Text = dgv.Rows[iSelIndex].Cells[(int)(indx - INDEX_CONTROL.TEXTBOX_A1)].Value.ToString();
                }

                switch (runk)
                {
                case FTable.FRUNK.F1:    // блокировать 2-ое, 3-е поле ввода
                    (Controls.Find(INDEX_CONTROL.TEXTBOX_A2.ToString(), true)[0] as TextBox).Enabled     =
                        (Controls.Find(INDEX_CONTROL.TEXTBOX_A3.ToString(), true)[0] as TextBox).Enabled =
                            false;
                    break;

                case FTable.FRUNK.F2:    // блокировать 3-е поле ввода
                    (Controls.Find(INDEX_CONTROL.TEXTBOX_A2.ToString(), true)[0] as TextBox).Enabled = true;
                    (Controls.Find(INDEX_CONTROL.TEXTBOX_A3.ToString(), true)[0] as TextBox).Enabled = false;
                    break;

                case FTable.FRUNK.F3:    // ничего не блокируется
                    (Controls.Find(INDEX_CONTROL.TEXTBOX_A1.ToString(), true)[0] as TextBox).Enabled         =
                        (Controls.Find(INDEX_CONTROL.TEXTBOX_A2.ToString(), true)[0] as TextBox).Enabled     =
                            (Controls.Find(INDEX_CONTROL.TEXTBOX_A3.ToString(), true)[0] as TextBox).Enabled =
                                true;
                    break;

                default:
                    break;
                }

                // восстановить обработчики событий
                for (INDEX_CONTROL indx = INDEX_CONTROL.TEXTBOX_A1; indx < (INDEX_CONTROL.TEXTBOX_F + 0); indx++)
                {
                    (Controls.Find(indx.ToString(), true)[0] as TextBox).TextChanged += new EventHandler(tbCalcValue_onTextChanged);
                }
            }
            else
            {
                ; // нет ни одной выбранной строки
            }
        }
 private void clear(INDEX_CONTROL indxCtrl)
 {
     (find(indxCtrl) as IControl).ClearItems();
 }
Exemple #26
0
        /// <summary>
        /// Обработчик события - изменение выбранной строки
        ///  в отображении для таблицы с наименованями функций
        /// </summary>
        /// <param name="obj">Объект, инициировавший событий (отображение таблицы значений)</param>
        /// <param name="ev">Аргумент события</param>
        private void dgvnALG_onSelectionChanged(object obj, EventArgs ev)
        {
            DataGridView dgv = obj as DataGridView;

            //TextBox tbValue = null;
            FTable.FRUNK runk      = FTable.FRUNK.F1; // для блокировки/снятия с отображения столбцов
            DataRow[]    rowsNAlg  = null;
            int          iSelIndex = dgv.SelectedRows.Count > 0 ? dgv.SelectedRows[0].Index : -1;

            for (INDEX_CONTROL indx = INDEX_CONTROL.TEXTBOX_A1; indx < (INDEX_CONTROL.TEXTBOX_F + 1); indx++)
            {
                (Controls.Find(indx.ToString(), true)[0] as TextBox).TextChanged -= tbCalcValue_onTextChanged;
            }

            dgv = Controls.Find(INDEX_CONTROL.DGV_VALUES.ToString(), true)[0] as DataGridView;
            dgv.Rows.Clear();

            if (!(iSelIndex < 0))
            {
                runk = m_zGraph_fTABLE.GetRunk(NAlg);

                rowsNAlg = m_tblEdit.Select(@"N_ALG='" + NAlg + @"'");

                foreach (DataRow r in rowsNAlg)
                {
                    dgv.Rows.Add(((float)r[@"A1"]).ToString(CultureInfo.InvariantCulture)
                                 , ((float)r[@"A2"]).ToString(CultureInfo.InvariantCulture)
                                 , ((float)r[@"A3"]).ToString(CultureInfo.InvariantCulture)
                                 , ((float)r[@"F"]).ToString(CultureInfo.InvariantCulture)
                                 , r[@"ID"]
                                 );
                }

                switch (runk)
                {
                case FTable.FRUNK.F1:    // блокировать/снять с отображения 2-ой, 3-ий столбец
                    dgv.Columns[1].Visible     =
                        dgv.Columns[2].Visible =
                            false;
                    break;

                case FTable.FRUNK.F2:    // блокировать/снять с отображения 3-ий столбец
                    dgv.Columns[1].Visible = true;
                    dgv.Columns[2].Visible = false;
                    break;

                case FTable.FRUNK.F3:    // ничего не блокируется
                    dgv.Columns[0].Visible         =
                        dgv.Columns[1].Visible     =
                            dgv.Columns[2].Visible =
                                true;
                    break;

                default:
                    break;
                }
            }
            else
            {
                ;
            }

            for (INDEX_CONTROL indx = INDEX_CONTROL.TEXTBOX_A1; indx < (INDEX_CONTROL.TEXTBOX_F + 1); indx++)
            {
                (Controls.Find(indx.ToString(), true)[0] as TextBox).TextChanged += new EventHandler(tbCalcValue_onTextChanged);
            }
        }
Exemple #27
0
        /// <summary>
        /// Обработчик события - изменения значения в "ведущем" календаре
        /// </summary>
        /// <param name="obj">Объект, инициировавший событие</param>
        /// <param name="ev">Аргумент события</param>
        private void leading_ValueChanged(object obj, EventArgs ev)
        {
            HDateTimePicker objLeading = obj as HDateTimePicker;
            ComboBox        cbxYear    = null
            , cbxMonth      = null
            , cbxDay        = null
            , cbxHour       = null;
            int iDiffYear   = -1
            , cntDayInMonth = -1;

            INDEX_CONTROL indx = (ev as EventDatePartArgs).m_index;

            if ((indx == INDEX_CONTROL.MONTH) ||
                (indx == INDEX_CONTROL.YEAR)
                )
            {
                if (_mode == MODE.MONTH)
                {
                    m_tsLeading -=
                        (TimeSpan.FromDays(DateTime.DaysInMonth(objLeading._value[(int)INDEX_VALUE.PREVIOUS].Year, objLeading._value[(int)INDEX_VALUE.PREVIOUS].Month))
                         - TimeSpan.FromDays(1));

                    m_tsLeading +=
                        (TimeSpan.FromDays(DateTime.DaysInMonth(objLeading._value[(int)INDEX_VALUE.CURRENT].Year, objLeading._value[(int)INDEX_VALUE.CURRENT].Month)));

                    m_tsLeading -= TimeSpan.FromDays(1);
                }
                else
                if (_mode == MODE.YEAR)
                {
                    m_tsLeading =
                        TimeSpan.FromDays(DateTime.IsLeapYear(objLeading._value[(int)INDEX_VALUE.CURRENT].Year) == true ? 366 : 365);
                }
                else
                {
                    ;
                }

                //??? только для MONTH
                //m_tsLeading -= TimeSpan.FromDays(1);
            }
            else
            {
                ;
            }

            //??? учитывать значение в "ведущем" календаре
            iDiffYear = objLeading.Value.Year - _value[(int)INDEX_VALUE.CURRENT].Year;
            _value[(int)INDEX_VALUE.PREVIOUS] = _value[(int)INDEX_VALUE.CURRENT];
            _value[(int)INDEX_VALUE.CURRENT]  = objLeading.Value + m_tsLeading;
            //??? учитывать значение в "ведущем" календаре
            iDiffYear -= objLeading.Value.Year - _value[(int)INDEX_VALUE.CURRENT].Year;

            cbxYear  = Controls.Find(INDEX_CONTROL.YEAR.ToString(), true)[0] as ComboBox;
            cbxMonth = Controls.Find(INDEX_CONTROL.MONTH.ToString(), true)[0] as ComboBox;
            cbxDay   = Controls.Find(INDEX_CONTROL.DAY.ToString(), true)[0] as ComboBox;
            cbxHour  = Controls.Find(INDEX_CONTROL.HOUR.ToString(), true)[0] as ComboBox;

            cbxYear.SelectedIndexChanged  -= new EventHandler(m_arSelectIndexChangedHandlers[(int)INDEX_CONTROL.YEAR]);
            cbxMonth.SelectedIndexChanged -= new EventHandler(m_arSelectIndexChangedHandlers[(int)INDEX_CONTROL.MONTH]);
            cbxDay.SelectedIndexChanged   -= new EventHandler(m_arSelectIndexChangedHandlers[(int)INDEX_CONTROL.DAY]);
            cbxHour.SelectedIndexChanged  -= new EventHandler(m_arSelectIndexChangedHandlers[(int)INDEX_CONTROL.HOUR]);

            try
            {
                cbxYear.SelectedIndex += iDiffYear;
                cbxMonth.SelectedIndex = _value[(int)INDEX_VALUE.CURRENT].Month - 1;
                cntDayInMonth          = DateTime.DaysInMonth(_value[(int)INDEX_VALUE.CURRENT].Year, _value[(int)INDEX_VALUE.CURRENT].Month);
                //if ((ev as EventDatePartArgs).m_index == INDEX_CONTROL.MONTH)
                cbxDayMapping(cntDayInMonth, false);
                //else
                //    cbxDay.SelectedIndex = _value[(int)INDEX_VALUE.CURRENT].Day - 1;
                cbxHour.SelectedIndex = _value[(int)INDEX_VALUE.CURRENT].Hour; // == 0 ? _value[(int)INDEX_VALUE.CURRENT].Hour : _value[(int)INDEX_VALUE.CURRENT].Hour - 1;
            }
            catch (Exception e)
            {
                Logging.Logg().Exception(e, @"HDateTimePicker::leading_ValueChanged (INDEX_CONTROL=" + (ev as EventDatePartArgs).m_index + @") - ...", Logging.INDEX_MESSAGE.NOT_SET);
            }

            cbxYear.SelectedIndexChanged  += new EventHandler(m_arSelectIndexChangedHandlers[(int)INDEX_CONTROL.YEAR]);
            cbxMonth.SelectedIndexChanged += new EventHandler(m_arSelectIndexChangedHandlers[(int)INDEX_CONTROL.MONTH]);
            cbxDay.SelectedIndexChanged   += new EventHandler(m_arSelectIndexChangedHandlers[(int)INDEX_CONTROL.DAY]);
            cbxHour.SelectedIndexChanged  += new EventHandler(m_arSelectIndexChangedHandlers[(int)INDEX_CONTROL.HOUR]);

            ValueChanged(this, EventArgs.Empty);
        }
Exemple #28
0
            /// <summary>
            /// Очистить значения для элемента(ов) управления
            /// </summary>
            /// <param name="indxIdToClear">Индекс идентификатора в списке</param>
            private void clear(INDEX_CONTROL indxCtrlToClear)
            {
                Control ctrl = findControl(indxCtrlToClear.ToString());

                (ctrl as IControl)?.ClearItems();
            }