private int StartLoading()
        {
            bStopTransfer    = false;
            FM.bStopTransfer = false;

            LoadLabel.Visible   = true;
            ProgressBar.Visible = true;
            LoadTimer.Enabled   = true;

            bool bOk = false;

            Thread T = new Thread(delegate() { bOk = InfiniumFiles.UploadFile(FileNames, FolderID, ref CurrentUploadedFile); });

            T.Start();

            this.Activate();
            Application.DoEvents();

            while (T.IsAlive)
            {
                T.Join(50);
                Application.DoEvents();

                if (CurrentUploadedFile != LastUploadedFile)
                {
                    LoadLabel.Text   = "Загрузка файлов (" + CurrentUploadedFile.ToString() + " из " + TotalFilesCount.ToString() + ")";
                    LastUploadedFile = CurrentUploadedFile;
                }

                if (bStopTransfer)
                {
                    FM.bStopTransfer          = true;
                    bStopTransfer             = false;
                    LoadTimer.Enabled         = false;
                    ProgressBar.Visible       = false;
                    LoadLabel.Text            = "Отмена загрузки файлов...";
                    DownloadLabel.Text        = "";
                    SpeedLabel.Text           = "";
                    PercentsLabel.Text        = "";
                    CancelFilesButton.Visible = false;

                    Application.DoEvents();

                    while (T.IsAlive)
                    {
                        Thread.Sleep(50);
                    }

                    FormEvent            = eClose;
                    AnimateTimer.Enabled = true;

                    return(-1);
                }
            }

            LoadTimer.Enabled = false;

            FormEvent            = eClose;
            AnimateTimer.Enabled = true;

            return(Convert.ToInt32(bOk));
        }