c#如何实现一个线程暂停,等待用户输入文本后继续运行?

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.");
        }
    }
}
时间: 2024-11-08 18:59:53

c#如何实现一个线程暂停,等待用户输入文本后继续运行?的相关文章

多线程--Task,等待用户输入AutoResetEvent

上一篇文章:.NET:如何让线程支持超时?已经说明目前微软主推的多线程方案是task: 注意:Task最好引用.NET4.5. 4.0也行,但不成熟.Thread引用2.0就够了. 1.通过构造函数创建的task,必须手动Start,而通过工厂创建的Task直接就启动了. var task1 = new Task(() => {    }); task.Start(); var task2 = Task.Factory.StartNew(() =>{    }); Task[] tasks =

43.编写一个程序,判断用户输入的字符是否是数字,若是数字,则输出“a numerical character”

//1.学习到字符输入 //2.判断字符 #include<iostream> using namespace std; int main() { char a; cout<<"please input a charcter: "<<endl; cin>>a; if(a>'0'&&a<'9') { cout<<"it's a numerical character!"<&l

用户输入URL后发生了什么,以及优化问题

用户角度:1.打开浏览器2.输入URL3.按下回车4.浏览器呈现画面 当用户输入页面地址后,浏览器获得用户希望访问的地址,便向该站点服务器发起一系列的请求,这些请求不光包括对页面的请求,还包括对页面中许许多多组件的请求,比如图片(img).叠层样式表(css).脚本(javascript).内嵌页面(iframe).音频媒体文件等.接下来一段时间,浏览器等待服务器的响应以及返回的数据.待浏览器获得所有返回的数据后,经过浏览器本地的计算和渲染,最终呈现一幅完整的页面在用户眼前. 这个过程中,主要经

微信小程序—如何获取用户输入文本框的值

我们就拿简单常用的登录来举例子吧,先看最终效果图片 我不喜欢使用from表单提交,所以这里不采用表单提交的方式咯: 先看看html代码: login.wxml <view class="itemView">用户名: <input class="input" name="userName" placeholder="请输入用户名" bindinput ="userNameInput"/>

python练习:编写一个程序,要求用户输入10个整数,然后输出其中最大的奇数,如果用户没有输入奇数,则输出一个消息进行说明。

重难点:通过input函数输入的行消息为字符串格式,必须转换为整型,否则不能进行排序交换位置.通过索引的方式可以查看字符串中的每一个字符,双层for循环进行冒泡排序.for循环的倒序输出方式:for z in range(9,1,-1):.break直接跳出循环.通过标志位判断是否输出过奇数. 1 print("----------------------------") 2 num=input('请输入十个整数:')#通过input函数输入,这时返回值为行信息的字符串 3 for m

Python3基础 int input提示用户输入一个整数并接受用户输入

镇场诗: 诚听如来语,顿舍世间名与利.愿做地藏徒,广演是经阎浮提. 愿尽吾所学,成就一良心博客.愿诸后来人,重现智慧清净体.------------------------------------------ code: 1 temp=input('请输入一个数字:') 2 guess=int(temp) result: step1: 1 请输入一个数字: step2: 1 请输入一个数字:1 2 >>> -----------------------------------------

Jquery 搜索等待用户输入完成时自动执行

$('#fuzzySearchBox').on('keyup', function (event) { var searchStr = $(this).val().toLowerCase(); //if (searchStr.length > 0) {//(e.which == 13) { lastTime = event.timeStamp; setTimeout(function () { //如果时间差为0,也就是你停止输入1s之内都没有其它的keyup事件产生,这个时候就可以去请求服务器

Console.ReadLine(); 获取用户输入内容

Console.ReadLine(); 用于让用户从键盘上输入一句话,当程序执行到这句话时程序就会自动暂停等待用户输入,按回车继续执行,如果想得到用户输入内容,就须要定义一个字符串类型的变量来接收 代码运用如下: Console.WriteLine("请输入一句话"); string input=Console.ReadLine(); Console.WriteLine("你刚刚输入的内容是:{0}",input); Console.ReadKey();

java 加入一个线程、创建有响应的用户界面 。 示例代码

javajava 加入一个线程.创建有响应的用户界面 . 示例代码 来自thinking in java 4 21章  部分代码  目录21.2.11 thinking in java 4免费下载:http://download.csdn.net/detail/liangrui1988/7580155 package org.rui.thread.concurrent; /** * 加入一个线程 * 一个线程可以在其他线程之上调用join()方法,其效果是等待一段时间直到第二个线程结束才继续执行