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."); } } }
public partial class Form1 : Form { public Form1() { InitializeComponent(); } private delegate void setText(string msg); private setText settext; private void button1_Click(object sender, EventArgs e) { Thread objThread = new Thread(new ThreadStart(delegate { YourThread(); })); objThread.Start(); settext = new setText(setTextbox); } private void textBox1_TextChanged(object sender, EventArgs e) { if (textBox1.Text.Length >= 4) { detailCollectedEvent.Set(); // 当textBox1的文本超过4位,发一个通知 } } public void setTextbox(string msg) { textBox1.Text = msg; } AutoResetEvent detailCollectedEvent = new AutoResetEvent(false); void YourThread() { for (int i = 0; i < 3; i++) { this.BeginInvoke(settext, "开始"); detailCollectedEvent.WaitOne(); // 等候通知 this.BeginInvoke(settext, "输入正确" + i.ToString()); } } }