public int CloseServerTabView(IServerView serverView)
        {
            int index = m_ServersTabControl.TabPages.IndexOf(serverView.GetTabPage());

            m_ServersTabControl.SelectedIndex = m_ServersTabControl.SelectedIndex - 1;
            m_ServersTabControl.TabPages.Remove(serverView.GetTabPage());

            return(index);
        }
        /// <summary>
        /// m_ConnectSrvBackgroundWorker.RunWorkerAsync
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="eventArgs"></param>
        private void ConnectSrvBackgroundWorker_DoWork(object sender, DoWorkEventArgs eventArgs)
        {
            _isActionRunning = true;
            m_ConnectSrvBackgroundWorker.ReportProgress(0);
            _currentActionErrorCount = 0;

            _currentActionDescription = "Connection to an OPC server";

            DisplayMessageInReport("Connection to the server : " + SelectedServerId + "\n");
            DisplayMessageInActionStatus(_currentActionDescription);
            DisplayMessageInStateStatus("Running");

            try
            {
                m_ConnectSrvBackgroundWorker.ReportProgress(50);

                IServerView serverView = _softwareController.ConnectToOpcServer(SelectedMachineName, SelectedServerId);
                UpdateServerTabList(serverView.GetTabPage());
            }
            catch (Exception ex)
            {
                ErrorLog errorLog = ErrorLog.GetInstance();
                errorLog.WriteToErrorLog(ex.Message, ex.StackTrace, "Error during OPC server connection");

                _currentActionErrorCount++;

                DisplayMessageInReport(ex.Message + "\n");
            }

            m_ConnectSrvBackgroundWorker.ReportProgress(100);
        }