111,126
社区成员
发帖
与我相关
我的任务
分享
private Thread th = null;
private AutoResetEvent ev = null;
private void button2_MouseDown(object sender, MouseEventArgs e)
{
ev = new AutoResetEvent(false);//开始时没有信号
if (checkBox1.Checked)
{
write_filestream();
}
else
m_PCNet.Set(3523, 88);
th = new Thread(new ThreadStart(step_for));
th.Start();
}
public void step_for()
{
ev.WaitOne(); //等待信号的发生,在信号没有到达之前,下面的语句是不会执行的.
.....
}
public void write_filestream()
{
byte[] byData;
char[] charData;
FileStream fsf = new FileStream("C:\\MyBlock", FileMode.Truncate, FileAccess.Write);
Encoder e = Encoding.UTF8.GetEncoder();
charData = "wahaha".ToCharArray();
byData = new byte[charData.Length];
e.GetBytes(charData, 0, charData.Length, byData, 0, true);
fsf.Seek(0, SeekOrigin.Begin);
fsf.Write(byData, 0, byData.Length);
ev.Set(); //write_filestream执行成功,则发送信号.
}