private void StartButton_Click(object sender, EventArgs e)
 {
     StartButton.Enabled  = false;
     CancelButton.Enabled = true;
     OutputLabel.Text     = "";
     MyBackgroundWorker.RunWorkerAsync(); //fire event handled by DoWork
 }
Exemplo n.º 2
0
 /// <summary>
 /// 输出批处理的日志
 /// </summary>
 /// <param name="worker"></param>
 /// <param name="loginfo"></param>
 public static void outputWorkerLog(MyBackgroundWorker worker, LogType lType, string loginfo)
 {
     worker.logType    = lType;
     worker.StatusText = loginfo;
     worker.ReportProgress(20);
     System.Threading.Thread.Sleep(100);
 }
    private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
    {
        string             strID = DateTime.Now.ToString("yyyyMMdd") + DateTime.Now.ToString("hhmmss") + DateTime.Now.Millisecond.ToString();
        MyBackgroundWorker tmpBg = (sender as MyBackgroundWorker);

        tmpBg.Name = "bg_" + strID;
        ProgressBar pb = new ProgressBar();

        pb.Minimum = 0;
        pb.Maximum = 100;
        pb.Name    = "pb_" + strID;
        pb.Width   = txtNumber.Width;
        this.BeginInvoke((MethodInvoker) delegate
        {
            flowLayoutPanel1.Controls.Add(pb);
        });
        dct.Add(tmpBg.Name, pb.Name);
        int input = (int)e.Argument;

        for (int i = 1; i <= input; i++)
        {
            Console.WriteLine(tmpBg.Name + ": " + (i * 100 / input));           //for testing (this line slows the program down a lot)
            tmpBg.ReportProgress(i * 100 / input);
            if (tmpBg.CancellationPending)
            {
                e.Cancel = true;
                return;
            }
        }
    }
Exemplo n.º 4
0
 void texProcess_OutputDataReceived(object sender, DataReceivedEventArgs e)
 {
     MyBackgroundWorker.BeginInvoke(new Action(delegate()
     {
         AddStatusLine(e.Data); //txtOutput.Text += e.Data + Environment.NewLine;
     }));
 }
Exemplo n.º 5
0
 private void buttonStart_Click(object sender, EventArgs e)
 {
     buttonStart.Enabled  = false;
     buttonCancel.Enabled = true;
     labelOutput.Text     = "";
     MyBackgroundWorker.RunWorkerAsync();// execute DoWork method
 }
        private void Start_Click(object sender, EventArgs e)
        {
            Start.Enabled    = false;
            Cancel.Enabled   = true;
            OutputLabel.Text = "";

            MyBackgroundWorker.RunWorkerAsync();
        }
 private void StartButton_Click(object sender, EventArgs e)
 {
     StartButton.Enabled  = false;
     CancelButton.Enabled = true;
     OutputLabel.Text     = "";
     // this will fire event which will be handled by "MyBackgroundWorker_DoWork"
     MyBackgroundWorker.RunWorkerAsync();
 }
Exemplo n.º 8
0
        private void StartButton_Click(object sender, EventArgs e)
        {
            StartButton.Enabled  = false;
            CancelButton.Enabled = true;
            OutputLabel.Text     = "";

            // Start background worker
            MyBackgroundWorker.RunWorkerAsync();
        }
 private void btnStart_Click(object sender, EventArgs e)
 {
     backgroundWorker1 = new MyBackgroundWorker();
     backgroundWorker1.WorkerReportsProgress = true;
     backgroundWorker1.DoWork             += new DoWorkEventHandler(backgroundWorker1_DoWork);
     backgroundWorker1.RunWorkerCompleted += new RunWorkerCompletedEventHandler(backgroundWorker1_RunWorkerCompleted);
     backgroundWorker1.ProgressChanged    += new ProgressChangedEventHandler(backgroundWorker1_ProgressChanged);
     backgroundWorker1.RunWorkerAsync(int.Parse(txtNumber.Text));
 }
    private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
    {
        MyBackgroundWorker tmpBg   = (sender as MyBackgroundWorker);
        string             strName = tmpBg.Name;

        strName = strName.Substring(3);
        ProgressBar pb = (ProgressBar)this.flowLayoutPanel1.Controls.Find(("pb_" + strName), true)[0];

        pb.Value = 100;
        //MessageBox.Show("Done");
    }
 private void CloseButton_Click(object sender, EventArgs e)
 {
     try
     {
         CloseButton.Enabled = false;
         StatusLabel.Text    = "Attempting to cancel, please wait...";
         MyBackgroundWorker.CancelAsync();
         MyCancelled = true;
     }
     catch (Exception ex)
     {
         HandleError("Error when cancelling operation.", ex);
     }
 }
Exemplo n.º 12
0
 /// <summary>
 /// 构造函数
 /// </summary>
 public frm_Progress()
 {
     InitializeComponent();
     backgroundWorker = new MyBackgroundWorker();
     backgroundWorker.WorkerReportsProgress      = true;
     backgroundWorker.WorkerSupportsCancellation = true;
     //backgroudWorker.DoWork += new DoWorkEventHandler(backgroundCalculator_DoWork);
     backgroundWorker.ProgressChanged    += new ProgressChangedEventHandler(backgroundWorker_ProgressChanged);
     backgroundWorker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(backgroundWorker_RunWorkerCompleted);
     backgroundWorker.Disposed           += new EventHandler(backgroundWorker_Disposed);
     sTime = DateTime.Now;
     updateStatus("开始时间:" + sTime.ToString());
     updateStatus("*****************************************************************************");
     updateStatus("开始执行");
 }
Exemplo n.º 13
0
 void CloseTimer_Tick(object sender, EventArgs e)
 {
     MyBackgroundWorker.Invoke(delegate
     {
         CloseCountDown--;
         if (CloseCountDown == 0)
         {
             if (RequestClose != null)
             {
                 RequestClose(this, new EventArgs());
             }
         }
         else
         {
             CloseButtonText = "Close [" + CloseCountDown + "s]";
         }
     });
 }
    // This event handler updates the progress bar.
    private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e)
    {
        MyBackgroundWorker tmpBg   = (sender as MyBackgroundWorker);
        string             strName = tmpBg.Name.Substring(3);
        ProgressBar        pb;

        if (!string.IsNullOrEmpty(strName))
        {
            foreach (Control c in flowLayoutPanel1.Controls)
            {
                if (c.Name == ("pb_" + strName))
                {
                    pb       = (ProgressBar)c;
                    pb.Value = Math.Min(100, e.ProgressPercentage);
                }
            }
        }
    }
Exemplo n.º 15
0
        void texProcess_Exited(object sender, EventArgs e)
        {
            MyBackgroundWorker.Invoke(new Action(delegate()
            {
                CloseButtonText    = "Close";
                ProgressBarVisible = false;
                if (texProcess.ExitCode == 0)
                {
                    AddStatusLine("htlatex returned with exit code 0");

                    bool success1 = CopyOutputFiles();
                    bool success2 = CleanUp();

                    // if successful, start autoclose timer
                    if (success1)// && success2)
                    {
                        SuccessLabelVisible = true;
                        CloseButtonText     = "Close [" + CloseCountDown + "s]";
                        CloseTimer.Start();
                    }
                    else
                    {
                        //lblFailed.Text = "Error: export failed";
                        CloseButtonText    = "Close";
                        FailedLabelVisible = true;
                    }
                }
                else
                {
                    AddStatusLine("Error: compilation failed");
                    CloseButtonText    = "Close";
                    FailedLabelVisible = true;
                    CleanUp();
                }
            }));
        }
Exemplo n.º 16
0
 public void AnimateProgressBar()
 {
     MyBackgroundWorker.RunWorkerAsync();
 }
    public HttpResponseMessage SendCommissioning(string serial, bool withChildren)
    {
        var guid = MyBackgroundWorker.AddItem(new Request(serial, withChildren));

        return(guid);
    }
Exemplo n.º 18
0
    static void ApplyPatch(List <string> patchFile, string patchType, string epicFolder = null, bool backupPKG = true, bool extractPatch = false)
    {
        Console.WriteLine("Applying " + patchType + " patch...");
        if (epicFolder == null)
        {
            epicFolder = @"C:\Program Files\Epic Games\KH_1.5_2.5\Image\en\";
            if (patchType == "DDD")
            {
                epicFolder = null;
            }
        }
        while (!Directory.Exists(epicFolder))
        {
            if (patchType == "KH1" || patchType == "KH2" || patchType == "BBS" || patchType == "COM")
            {
                Console.WriteLine("If you want to patch KH1, KH2, Recom or BBS, please drag your \"en\" folder (the one that contains kh1_first, kh1_second, etc.) located under \"Kingdom Hearts HD 1 5 and 2 5 ReMIX/Image/\" here, and press Enter:");
                epicFolder = Console.ReadLine().Trim('"');
            }
            else if (patchType == "DDD")
            {
                Console.WriteLine("If you want to patch Dream Drop Distance, please drag your \"en\" folder (the one that contains kh3d_first, kh3d_second, etc.) located under \"Kingdom Hearts HD 2 8 Final Chapter Prologue/Image/\" here, and press Enter:");
                epicFolder = Console.ReadLine().Trim('"');
            }
        }
        string timestamp  = DateTime.Now.ToString("dd_MM_yyyy_HH_mm_ss_ms");
        string tempFolder = "";

        if (extractPatch)
        {
            Console.WriteLine("Extracting patch...");
            if (GUI_Displayed)
            {
                status.Text = $"Extracting patch: 0%";
            }
            tempFolder = patchFile[0] + "_" + timestamp;
            Directory.CreateDirectory(tempFolder);
        }
        MyBackgroundWorker backgroundWorker1 = new MyBackgroundWorker();

        backgroundWorker1.ProgressChanged += (s, e) => {
            Console.WriteLine((string)e.UserState);
            if (GUI_Displayed)
            {
                status.Text = (string)e.UserState;
            }
        };
        backgroundWorker1.DoWork += (s, e) => {
            string epicBackup = Path.Combine(epicFolder, "backup");
            Directory.CreateDirectory(epicBackup);

            ZipFiles = new List <ZipFile>();
            for (int i = 0; i < patchFile.Count; i++)
            {
                using (ZipFile zip = ZipFile.Read(patchFile[i])){
                    if (extractPatch)
                    {
                        totalFiles           = zip.Count;
                        filesExtracted       = 0;
                        currentExtraction    = patchFile[i];
                        zip.ExtractProgress += new EventHandler <ExtractProgressEventArgs>(ExtractionProgress);
                        zip.ExtractAll(tempFolder, ExtractExistingFileAction.OverwriteSilently);
                    }
                    else
                    {
                        ZipFiles.Insert(0, zip);
                    }
                }
            }

            backgroundWorker1.ReportProgress(0, "Applying patch...");

            bool foundFolder = false;
            for (int i = 0; i < khFiles[patchType].Length; i++)
            {
                backgroundWorker1.ReportProgress(0, $"Searching {khFiles[patchType][i]}...");
                string epicFile          = Path.Combine(epicFolder, khFiles[patchType][i] + ".pkg");
                string epicHedFile       = Path.Combine(epicFolder, khFiles[patchType][i] + ".hed");
                string patchFolder       = Path.Combine(tempFolder, khFiles[patchType][i]);
                string epicPkgBackupFile = Path.Combine(epicBackup, khFiles[patchType][i] + (!backupPKG ? "_" + timestamp : "") + ".pkg");
                string epicHedBackupFile = Path.Combine(epicBackup, khFiles[patchType][i] + (!backupPKG ? "_" + timestamp : "") + ".hed");

                try{
                    if (((!extractPatch && OpenKh.Egs.ZipManager.DirectoryExists(khFiles[patchType][i])) || (extractPatch && Directory.Exists(patchFolder))) && File.Exists(epicFile))
                    {
                        foundFolder = true;
                        if (File.Exists(epicPkgBackupFile))
                        {
                            File.Delete(epicPkgBackupFile);
                        }
                        File.Move(epicFile, epicPkgBackupFile);
                        if (File.Exists(epicHedBackupFile))
                        {
                            File.Delete(epicHedBackupFile);
                        }
                        File.Move(epicHedFile, epicHedBackupFile);
                        backgroundWorker1.ReportProgress(0, $"Patching {khFiles[patchType][i]}...");
                        backgroundWorker1.PKG = khFiles[patchType][i];
                        OpenKh.Egs.EgsTools.Patch(epicPkgBackupFile, (!extractPatch ? khFiles[patchType][i] : patchFolder), epicFolder, backgroundWorker1);
                        if (!backupPKG)
                        {
                            if (File.Exists(epicPkgBackupFile))
                            {
                                File.Delete(epicPkgBackupFile);
                            }
                            File.Move(Path.Combine(epicFolder, khFiles[patchType][i] + "_" + timestamp + ".pkg"), Path.Combine(epicFolder, khFiles[patchType][i] + ".pkg"));
                            if (File.Exists(epicHedBackupFile))
                            {
                                File.Delete(epicHedBackupFile);
                            }
                            File.Move(Path.Combine(epicFolder, khFiles[patchType][i] + "_" + timestamp + ".hed"), Path.Combine(epicFolder, khFiles[patchType][i] + ".hed"));
                        }
                    }
                }catch (Exception ex) {
                    Console.WriteLine(ex.ToString());
                }
            }
            if (extractPatch && Directory.Exists(tempFolder))
            {
                Directory.Delete(tempFolder, true);
            }
            if (!foundFolder)
            {
                string error = "Could not find any folder to patch!\nMake sure you are using the correct path for the \"en\" folder!";
                Console.WriteLine(error);
                if (GUI_Displayed)
                {
                    status.Text = "";
                }
                if (GUI_Displayed)
                {
                    MessageBox.Show(error);
                }
            }
            else
            {
                if (GUI_Displayed)
                {
                    status.Text = "";
                }
                if (GUI_Displayed)
                {
                    MessageBox.Show("Patch applied!");
                }
                Console.WriteLine("Done!");
            }
        };
        backgroundWorker1.RunWorkerCompleted += (s, e) => {
            if (e.Error != null)
            {
                if (GUI_Displayed)
                {
                    MessageBox.Show("There was an error! " + e.Error.ToString());
                }
                Console.WriteLine("There was an error! " + e.Error.ToString());
            }
            if (GUI_Displayed)
            {
                selPatchButton.Enabled = true;
            }
            if (GUI_Displayed)
            {
                applyPatchButton.Enabled = true;
            }
            if (GUI_Displayed)
            {
                backupOption.Enabled = true;
            }
        };
        backgroundWorker1.WorkerReportsProgress = true;
        backgroundWorker1.RunWorkerAsync();
    }
 private void CancelButton_Click(object sender, EventArgs e)
 {
     MyBackgroundWorker.CancelAsync();
     CancelButton.Enabled = false;
 }
Exemplo n.º 20
0
 private void CancelButton_Click(object sender, EventArgs e)
 {
     //indicates to cancel the background worker.
     MyBackgroundWorker.CancelAsync();
     CancelButton.Enabled = false;
 }
 public void Start()
 {
     StatusLabel.Text = "Starting...";
     MyBackgroundWorker.RunWorkerAsync();
     this.ShowDialog();
 }