Пример #1
0
 private void timer_Tick(object sender, EventArgs e)
 {
     if (sReader == null)
     {
         timer.Stop();
     }
     else
     {
         progressBar.Value = (int)(sReader.BaseStream.Position);
         TimeSpan ts = DateTime.Now - start;
         double   tk = ts.TotalSeconds;
         double   l  = sReader.BaseStream.Length;
         double   p  = sReader.BaseStream.Position;
         l = l - p;
         long stk = (long)(tk * l / p);
         labelTime.Text = "估计剩余时间:" + TimeSpan.FromSeconds(stk).ToString() + "   已用时间:" + TimeSpan.FromSeconds((long)tk).ToString();
         if (th.ThreadState == ThreadState.Stopped)
         {
             EndMake();
             buttonCancel.Enabled    = false;
             buttonNext.Text         = "完成";
             buttonNext.DialogResult = DialogResult.OK;
             buttonNext.Enabled      = true;
             BatchState = BatchMakeState.Maked;
         }
     }
 }
Пример #2
0
        public BatchMake(WordMakeForm wordMakeForm)
        {
            WordMakeForm = wordMakeForm;
            InitializeComponent();

            BatchState = BatchMakeState.SelectFile;
            panelSelectFile.Dock = DockStyle.Fill;
            panelSelectFile.BringToFront();
        }
Пример #3
0
 private void buttonNext_Click(object sender, EventArgs e)
 {
     switch (BatchState)
     {
     case BatchMakeState.SelectFile:
     {
         if (!File.Exists(textBoxINFile.Text))
         {
             MessageBox.Show(this, "指定的文件不存在请从新输入。", "出错了");
             textBoxINFile.Focus();
             return;
         }
         try
         {
             sReader             = new StreamReader(textBoxINFile.Text);
             sWriter             = new StreamWriter(textBoxOutFile.Text, false, Encoding.UTF8);
             progressBar.Minimum = progressBar.Value = 0;
             progressBar.Maximum = (int)(sReader.BaseStream.Length);
             panelMaking.Dock    = DockStyle.Fill;
             panelMaking.BringToFront();
             BatchState = BatchMakeState.Making;
             timer.Start();
             th      = new Thread(new ThreadStart(this.Conversion));
             th.Name = "BatchMake";
             start   = DateTime.Now;
             th.Start();
             buttonNext.Enabled = false;
         }
         catch (Exception ee)
         {
             if (sReader != null)
             {
                 sReader.Dispose();
             }
             if (sWriter != null)
             {
                 sWriter.Dispose();
             }
             MessageBox.Show(this, ee.Message, "出错了");
         }
         break;
     }
     }
 }
Пример #4
0
 private void buttonCancel_Click(object sender, EventArgs e)
 {
     EndMake();
     BatchState = BatchMakeState.Cancel;
 }
Пример #5
0
 private void buttonNext_Click(object sender, EventArgs e)
 {
     switch (BatchState)
     {
         case BatchMakeState.SelectFile:
             {
                 if (!File.Exists(textBoxINFile.Text))
                 {
                     MessageBox.Show(this, "指定的文件不存在请从新输入。", "出错了");
                     textBoxINFile.Focus();
                     return;
                 }
                 try
                 {
                     sReader = new StreamReader(textBoxINFile.Text);
                     sWriter = new StreamWriter(textBoxOutFile.Text, false, Encoding.UTF8);
                     progressBar.Minimum = progressBar.Value = 0;
                     progressBar.Maximum = (int)(sReader.BaseStream.Length);
                     panelMaking.Dock = DockStyle.Fill;
                     panelMaking.BringToFront();
                     BatchState = BatchMakeState.Making;
                     timer.Start();
                     th = new Thread(new ThreadStart(this.Conversion));
                     th.Name = "BatchMake";
                     start = DateTime.Now;
                     th.Start();
                     buttonNext.Enabled = false;
                 }
                 catch (Exception ee)
                 {
                     if (sReader != null)
                     {
                         sReader.Dispose();
                     }
                     if (sWriter != null)
                     {
                         sWriter.Dispose();
                     }
                     MessageBox.Show(this, ee.Message, "出错了");
                 }
                 break;
             }
     }
 }
Пример #6
0
 private void buttonCancel_Click(object sender, EventArgs e)
 {
     EndMake();
     BatchState = BatchMakeState.Cancel;
 }
Пример #7
0
 private void timer_Tick(object sender, EventArgs e)
 {
     if (sReader == null)
     {
         timer.Stop();
     }
     else
     {
         progressBar.Value = (int)(sReader.BaseStream.Position);
         TimeSpan ts= DateTime.Now - start;
         double tk = ts.TotalSeconds;
         double l = sReader.BaseStream.Length;
         double p = sReader.BaseStream.Position;
         l = l-p;
         long stk =(long)(tk * l / p);
         labelTime.Text = "估计剩余时间:" + TimeSpan.FromSeconds(stk).ToString()+"   已用时间:"+TimeSpan.FromSeconds((long)tk).ToString();
         if (th.ThreadState == ThreadState.Stopped)
         {
             EndMake();
             buttonCancel.Enabled = false;
             buttonNext.Text = "完成";
             buttonNext.DialogResult = DialogResult.OK;
             buttonNext.Enabled = true;
             BatchState = BatchMakeState.Maked;
         }
     }
 }