当第二个窗体在C#.net中打开时,如何停止第一个窗体的函数
本文关键字:窗体 何停止 函数 第一个 第二个 net | 更新日期: 2023-09-27 18:01:05
我是编程新手。提前道歉
我正在使用Speak功能。当第一个窗体是隐藏的,而第二个窗体是打开的。Speak功能仍然有效。我想停止这个功能。我怎么能做这个
//Second Form
private void button1_Click(object sender, EventArgs e)
{
Form2.Show();
this.Hide();
}
//Speak Button
private void button2_Click(object sender, EventArgs e)
{
sSynth.Dispose();
if (textBox1.Text != "") //if text area is not empty
{
sSynth = new SpeechSynthesizer();
sSynth.SpeakAsync(textBox1.Text);
sSynth.SpeakCompleted+=new
EventHandler<SpeakCompletedEventArgs(reader_SpeakCompleted);
}
}
private void reader_SpeakCompleted(object sender, SpeakCompletedEventArgs e)
{
}
要取消所有后台异步语音,有一个非常好的cancel方法,您应该从第一个窗体调用:
sSynth.SpeakAsyncCancelAll ();
取消所有排队、异步、语音合成操作
或者要取消特定的提示,请使用以下提示:
sSynth.SpeakAsyncCancel (_prompt);
其中_prompt
是上一个sSynth.SpeakAsync(...)
的返回值,应该如下所示:
_prompt = sSynth.SpeakAsync(something);
更多
- SpeechSynthesizer.SpeakAsyncCancelAll