事件处理程序返回表单的值

时间:2015-06-12 16:52:31

标签: c#

我正在制作一个包含名为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;
    }

1 个答案:

答案 0 :(得分:0)

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

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