2013-04-25 55 views
0

我正在爲我的程序添加語音控制功能。我的代碼有錯誤,我似乎無法擺脫。語音控制將允許用戶在不使用鼠標或鍵盤的情況下控制程序的各個方面。有關開關表達式的錯誤(必須是bool,char,字符串等)

目前,我的代碼包括:

using System.Data; 
using System.Drawing; 
using System.Text; 
using System.Windows.Forms; 
using System.IO; 
using System.Drawing.Text; 
using System.Drawing.Printing; 
using System.Diagnostics; 
using System.Linq; 
using System.Reflection; 
using FontCombo; 
using System.Speech.Recognition; 
using System.Speech.Recognition.SrgsGrammar; 
using Microsoft.VisualBasic; 

if (voctrl.Checked == true) 
     { 
      vcstat.Text = "Voice Control Enabled"; 
      recognizer = new SpeechRecognizer(); 
      recognizer.SpeechDetected += recognizer_SpeechDetected; 
      recognizer.SpeechRecognitionRejected += recognizer_SpeechRecognitionRejected; 
      recognizer.SpeechRecognized += recognizer_SpeechRecognized; 
      GrammarBuilder grammar = new GrammarBuilder(); 
      grammar.Append(new Choices("Cut", "Copy", "Paste", "Select All", "Print", "Deselect All", "Delete", "Save", "Save As", "Open", "New", "Close")); 
      recognizer.LoadGrammar(new Grammar(grammar)); 
     } 
     else 
     { 
      vcstat.Text = "Voice Control Disabled"; 
     } 

private void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e) 
    { 
     if (voctrl.Checked == true) 
     { 
      switch (e.Result.Text.ToUpper) //This is the error according to Visual Studio 
      { 
       case 
       "Cut": 
        Clipboard.SetText(richTextBoxPrintCtrl1.SelectedRtf, TextDataFormat.Rtf); 
        richTextBoxPrintCtrl1.SelectedRtf = ""; 
        break; // etc. 

我曾嘗試搜索互聯網的解決方案,但似乎無法找到一個與此代碼的工作。我究竟做錯了什麼?我很抱歉,如果我是愚蠢的,但我是C#和編程的新手。

該錯誤是如下:錯誤4所述的開關表達或case標籤必須是一個布爾,焦炭,串,積分,enum或相應空類型

+0

括號...... e.Result.Text.ToUpper() – noobob 2013-04-25 17:10:06

回答

3

ToUpper應該是一個方法ToUpper(),你是缺乏括號

+0

謝謝,但是在添加()之後,我得到了一些關於命令的奇怪錯誤。我會再看一下。 – Toby 2013-04-25 17:11:14

+0

哦。我有一些不正確的功能等。我現在修好了。謝謝! – Toby 2013-04-25 17:13:57

+1

只要SO允許我接受答案。 – Toby 2013-04-25 17:14:30

相關問題