明天的明天 永远的永远 未知的一切 我与你一起承担 ??

是非成败转头空 青山依旧在 几度夕阳红 。。。
  博客园  :: 首页  :: 管理
事件通知是最佳方案,以前用一个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.");
        }
    }
}