zoukankan      html  css  js  c++  java
  • c#如何实现一个线程暂停,等待用户输入文本后继续运行?

    事件通知是最佳方案,以前用一个while(xxx)来等待,后来发现会有一些问题:

    using System;
    using System.Text;
    using System.Windows.Forms;
    using System.Threading;

    namespace WindowsApplication1
    {
        
    public partial class Form1 : Form
        {
            
    public Form1()
            {
                InitializeComponent();
            }

            
    private void button1_Click(object sender, EventArgs e)
            {
                Thread th 
    = new Thread(YourThread);
                th.Start();
            }

            
    private void textBox1_TextChanged(object sender, EventArgs e)
            {
                
    if (textBox1.Text.Length >= 4)
                {
                    detailCollectedEvent.Set();                      
    // 当textBox1的文本超过4位,发一个通知
                }
            }

            AutoResetEvent detailCollectedEvent 
    = new AutoResetEvent(false);
            
    void YourThread()
            {
                MessageBox.Show(
    "input you bank account details into the textbox");
                detailCollectedEvent.WaitOne();                      
    // 等候通知
                MessageBox.Show("we will keep the secret.");
            }
        }
    }

  • 相关阅读:
    【iOS】ARC & MRC
    【iOS】判断苹果的设备是哪种
    【iOS】获取项目名和版本号
    CSDN Markdown 超链接
    【iOS】安装 CocoaPods
    【Android Studio】常用快捷键
    Linux初接触设置笔记01
    Java循环输出一个菱形与阶乘倒数
    对象的声明与实例化(转)
    Java堆/栈/常量池以及String的详细详解(转)------经典易懂系统
  • 原文地址:https://www.cnblogs.com/Fooo/p/1363619.html
Copyright © 2011-2022 走看看