private void btnNameSpaceDelete_Click(object sender, RoutedEventArgs e)
        {
            if (CheckProcess())
            {
                return;
            }

            int iRecCount = dgvNameSpace.Items.Count;

            if (iRecCount == 0)
            {
                return;
            }

            int iCurRow = dgvNameSpace.SelectedItems.Count;

            if (iCurRow <= 0)
            {
                return;
            }

            m_NameSpace[] ItemSource = new m_NameSpace[iCurRow];

            for (int i = 0; i < dgvNameSpace.SelectedItems.Count; i++)
            {
                ItemSource[i] = (m_NameSpace)dgvNameSpace.SelectedItems[i];
            }

            foreach (m_NameSpace ns in ItemSource)
            {
                dgNameSpaceItemsSource.Remove(ns);
            }

            AddToEventLog("Ошибка при удалении записи из списка выбранных ПИ. " + GetLastErrorDescription(), true, false);
        }
        private void btnNameSpaceAdd_Click(object sender, RoutedEventArgs e)
        {
            if (CheckProcess())
            {
                return;
            }

            ofdNameSpace.Title       = "Выберите файлы ПИ";
            ofdNameSpace.Filter      = "Файлы YML|*.yml";
            ofdNameSpace.FileName    = "";
            ofdNameSpace.Multiselect = true;

            if (sNSPath != String.Empty)
            {
                ofdNameSpace.InitialDirectory = sNSPath;
            }
            else
            {
                ofdNameSpace.InitialDirectory = sLastNSPath;
            }

            AddToEventLog("Выбор файлов ПИ.", false, false);

            if (ofdNameSpace.ShowDialog() == true)
            {
                sLastNSPath = Path.GetDirectoryName(ofdNameSpace.FileName);

                result = WritePrivateProfileString(
                    "PathSection",
                    searchNSPath,
                    sLastNSPath,
                    sSettingFileName);

                if (result == 0)
                {
                    AddToEventLog("Ошибка при записи в Settings.ini. " + GetLastErrorDescription(), true, false);
                }

                int iFileCount = ofdNameSpace.SafeFileNames.Length;

                for (int i = 0; i < iFileCount; i++)
                {
                    m_NameSpace ns = new m_NameSpace()
                    {
                        Number     = dgvNameSpace.Items.Count,
                        NSFileName = ofdNameSpace.SafeFileNames[i],
                        NSPath     = ofdNameSpace.FileNames[i]
                    };

                    dgNameSpaceItemsSource.Add(ns);
                }
            }
        }
        private m_NameSpace[] aRowsNameSpace()
        {
            Stack myStack = aRows(dgvNameSpace);

            m_NameSpace[] ns = new m_NameSpace[myStack.Count];

            int i = 0;

            foreach (m_NameSpace ms in myStack)
            {
                ns[i++] = ms;
            }

            return(ns);
        }