예제 #1
0
        /// <summary>
        /// Сгенерировать ключ для контрола
        /// </summary>
        /// <param name="valueControl">собственно сам контрол</param>
        /// <returns>Ключ для word файла или null в случае не успеха</returns>
        private static string GenerateKey(ValueControl valueControl)
        {
            if (valueControl == null)
            {
                return(null);
            }

            string returnResult = "#00";
            string numString    = "";

            object tag = valueControl.Control.Tag;

            if (tag == null)
            {
                return(null);
            }

            numString = valueControl.Control.Tag.ToString();  // Номер ключа зависит от тега

            if (numString.Length == 1)
            {
                numString = "0" + numString; // добавляет 0 перед числом если оно меньше 10, чтобы число всегда было из 2х цифр
            }
            returnResult = "#" + numString;  // Пример результата: #05
            return(returnResult);
        }
예제 #2
0
        /// <summary>
        /// В ручную добавить ключ-значение в выгружаемый массив. Ключ будет значение TaglIndex элемента
        /// </summary>
        /// <param name="ValueControlArray">Массив, в который добавляется значение</param>
        /// <param name="control">Контрол которыйд добавляется</param>
        public static void AddValueControl(ref List <ValueControl> ValueControlArray, Control control)
        {
            ValueControl newValueControl = new ValueControl(control);

            newValueControl.Key = GenerateKey(newValueControl);

            ValueControlArray.Add(newValueControl); // Записать в лист
        }
예제 #3
0
        /// <summary>
        /// В ручную добавить ключ-значение в выгружаемый массив
        /// </summary>
        /// <param name="ValueControlArray">Массив, в который добавляется значение</param>
        /// <param name="control">Контрол которыйд добавляется</param>
        /// <param name="Key">Ключ контрола, желательно в формате #-01</param>
        public static void AddValueControl(ref List <ValueControl> ValueControlArray, Control control, string Key)
        {
            ValueControl newValueControl = new ValueControl(control)
            {
                Key = Key // Добавляение ключа
            };

            ValueControlArray.Add(newValueControl); // Записать в лист
        }
예제 #4
0
        /// <summary>
        /// Берет текст из всех форм заполнения пользователем и превращает в массив
        /// </summary>
        /// <param name="controls"> коллекция элементов(контролов) с формы</param>
        /// <returns>Возвращает лист значений контролов</returns>
        private static List <ValueControl> ControlArrayToString(Control.ControlCollection controls)
        {
            List <ValueControl> valueControlsReturn = new List <ValueControl>(); // Возвращаемый лист значений контролов

            foreach (Control control in controls)                                // Перебор коллекци контролов на вычленение из него тех, что имеют поля для ввода
            {
                //Пример обхода всех TextBox-ов http://www.cyberforum.ru/windows-forms/thread110436.html#a_Q7
                if (control is TextBox || control is ComboBox) // Если содержит поле для ввода
                {
                    ValueControl newValueControl = new ValueControl(control);
                    valueControlsReturn.Add(newValueControl); // Записать в лист
                }
            }

            return(valueControlsReturn);
        }