事件处理程序将值返回到窗体

本文关键字:窗体 返回 程序 事件处理 | 更新日期: 2023-09-27 17:56:08

>我正在制作一个语音识别软件,其中包含一个名为voice的类。现在在窗体中有一个按钮和一个文本框。按下按钮时,它将从类创建一个实例voice并调用该方法Loadspeech() .我的主要问题是当运行程序,启用语音识别和语音时,系统将转到此方法:

void sRE_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)

那太好了。

但是,我想在每次演讲时将语音值从类事件处理程序sRE_SpeechRecognized传递到表单中的textbox

class Voice
{
    public string speech ="";
    SpeechRecognitionEngine sRE = new SpeechRecognitionEngine();
    public void loadSpeech()
    {
        sRE.SpeechRecognized += sRE_SpeechRecognized;
        sRE.LoadGrammar(new DictationGrammar());
        sRE.SetInputToDefaultAudioDevice();
        try { sRE.RecognizeAsync(RecognizeMode.Multiple); }
        catch (Exception ex) { MessageBox.Show(ex.Message); }
    }
    void sRE_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
    {
        speech = e.Result.Text;
    }

事件处理程序将值返回到窗体

为什么要为此创建一个类?只需在MainForm中创建一个新的SpeechRecognitionEngine并使用您的代码即可。

 void sRE_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
    {
        textbox1.Text = e.Result.Text;
    }