标签:style blog color io art for
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading; using System.Windows.Forms; using WindowsFormsApplication3.Enums; using WindowsFormsApplication3.DataStorge; using WindowsFormsApplication3.Jobs; using WindowsFormsApplication3.Jobs.Operation_System; namespace WindowsFormsApplication3.FormPage { public partial class OperationSystemForm : BaseWorkerForm { protected int finishedChildFormNO; protected CheckoutStep checkoutStep; public void StateChangeEvent() { // RefreshForm(); } public bool identityByState(JobStatus jobStatus) { bool flag = true; foreach (BaseJob childjob in jobs) { if (childjob.Status != jobStatus) { flag = false; break; } } return flag; } public OperationSystemForm(CheckoutContext checkoutContext,CheckoutStep checkoutStep):base(checkoutContext,checkoutStep) { this.checkoutStep = checkoutStep; InitializeComponent(); timer.Tick += new EventHandler(timer_Tick); ResetForm(); } private void SetFormStatus() { foreach (BaseJob childj in jobs) { switch (childj.Status) { case (JobStatus.Error): this.status = FormStatus.Error; break; case (JobStatus.OK): this.status = identityByState(JobStatus.OK) ? FormStatus.OK : status; break; case (JobStatus.Waiting): this.status = identityByState(JobStatus.Waiting) ? FormStatus.Waiting : status; break; default: break; } } } public override void Execute(object obj) { base.Execute(obj); ReportFormStatusChanged(); foreach (BaseJob job in jobs) { job.JobStateChangeEvent += StateChangeEvent; ThreadPool.QueueUserWorkItem(new WaitCallback(job.Execute),null); } checkoutContext.logData.Start(checkoutStep, ""); } public override void ResetForm() { base.ResetForm(); jobs.Add(new Job1(checkoutContext,checkoutStep)); jobs.Add(new Job2(checkoutContext, checkoutStep)); } public override void RefreshForm() { base.RefreshForm(); SetFormStatus(); if(checkoutContext.messageList!=null) { if (listBox.Items.Count != 0) listBox.Items.Clear(); foreach (string m in checkoutContext.messageList) listBox.Items.Add(m); } } private void timer_Tick(object sender, EventArgs e){ RefreshForm(); } } }
OperationSystemForm : BaseWorkerForm,布布扣,bubuko.com
OperationSystemForm : BaseWorkerForm
标签:style blog color io art for
原文地址:http://www.cnblogs.com/rosizel/p/3861620.html