• C# 循环时,操作另外一个进程直到操作完成,循环继续执行


    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.Threading.Tasks;
    using System.Windows.Forms;
    
    namespace ThreadTest
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
            static EventWaitHandle eHandle = new EventWaitHandle(false, EventResetMode.ManualReset);
            bool flag = false;
    
            private void button1_Click(object sender, EventArgs e)
            {
                richTextBox1.Clear();
                for (int i = 1; i <= 100; i++) {
                    richTextBox1.AppendText(i + "
    ");
                    if (i % 10 == 0) {
                        eHandle = new EventWaitHandle(false, EventResetMode.ManualReset);
                        Thread currentThread = new Thread(new ThreadStart(TestProcess));//开辟一个进度条线程
                        currentThread.Start();
                        eHandle.WaitOne();
                        richTextBox1.AppendText("i是10的倍数: i = " + i + "
    ");
                        if (flag == true)
                        {
                            richTextBox1.AppendText("程序结束" + "
    ");
                            break;
                        }
                    }
                }
            }
    
    
            private void TestProcess() {
                if (MessageBox.Show("确定要退出吗?", "Message", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.Cancel)
                {
                    flag = false;
                }
                else
                {
                    flag = true;
                }
                eHandle.Set();
            }
    
            private void richTextBox1_TextChanged(object sender, EventArgs e)
            {
                richTextBox1.SelectionStart = richTextBox1.Text.Length;
                richTextBox1.ScrollToCaret();
            }
        }
    }
  • 相关阅读:
    python os模块
    python time、datetime模块
    python 导入模块、包
    python json、pickle
    python 装饰器
    python 生成器、迭代器
    python 内置函数
    python 函数的参数
    python 编码解码
    python 文件读写、shutil模块
  • 原文地址:https://www.cnblogs.com/Wonderful-Life/p/9837855.html
Copyright © 2020-2023  润新知