右键能出来菜单,但是点击菜单,无法激活相应的事件。搞了一个礼拜了。急的要命了。
哪位老兄帮帮忙呀?
在线等
万分感谢      
 private void xiaom()
        {
            axAgent1.Characters.Load("xiaoM", (object)"C:/WINDOWS/msagent/chars/Audie.acs");
            Character = axAgent1.Characters["xiaoM"];
            Character.LanguageID = 0x409;
            Character.Show(null);
            Character.Speak("Hello World", null);
            Character.Play("Wave");
            Character.Commands.RemoveAll();
            Character.Commands.Visible = true;
            Character.Commands.Caption = "small m";            //定义右键菜单
            Character.Commands.Add("Hello", "Hello", "Hello",true,true);
            Character.Commands.Add("Hellox", (object)"Say Hello", (object)"([say](hello | hi) | good (day | morning | evening))", (object)true,(object)true);
            Character.Commands.Add("Goodbye",(object)"Goodbye",(object)"(bye | goodbye | exit | close | quit)", (object)true,(object)true);        }
////////以下是定义右键的菜单的功能
        protected void axAgent1_Command(object sender,AxAgentObjects._AgentEvents_CommandEvent e)
        {
            IAgentCtlUserInput ui;
            ui = (IAgentCtlUserInput)e.userInput;
            if (ui.Name == "Hellox")
            {
                Character.Speak((object)"Hello. My name is tony." + " Pleased to meet you.", null);
            }
            else if (ui.Name == "Goodbye")
            {
                Character.Speak((object)"It was nice talking to" + " you. Goodbye.", null);                Character.Play("Wave");
                Character.Play("Hide");
            }
            else if (ui.Name == "Hello")
            {
                Character.Speak("i am tony", null);
            }
            else
            {
                Character.Speak("please chouse the menu",null);
            }
        }

解决方案 »

  1.   

    看着代码愁了好几天了
    哪位仁兄帮帮忙呀
    public IAgentCtlCharacterEx Character;  //agent character
    private void xiaom() 
            { 
                axAgent1.Characters.Load("xiaoM", (object)"C:/WINDOWS/msagent/chars/Audie.acs"); 
                Character = axAgent1.Characters["xiaoM"]; 
                Character.LanguageID = 0x409; 
                Character.Show(null); 
                Character.Speak("Hello World", null); 
                Character.Play("Wave"); 
                Character.Commands.RemoveAll(); 
                Character.Commands.Visible = true; 
                Character.Commands.Caption = "small m";             //定义右键菜单 
                Character.Commands.Add("Hello", "Hello", "Hello",true,true); 
                Character.Commands.Add("Hellox", (object)"Say Hello", (object)"([say](hello ¦ hi) ¦ good (day ¦ morning ¦ evening))", (object)true,(object)true); 
                Character.Commands.Add("Goodbye",(object)"Goodbye",(object)"(bye ¦ goodbye ¦ exit ¦ close ¦ quit)", (object)true,(object)true);         } 
    ////////以下是定义右键的菜单的功能 
            protected void axAgent1_Command(object sender,AxAgentObjects._AgentEvents_CommandEvent e) 
            { 
                IAgentCtlUserInput ui; 
                ui = (IAgentCtlUserInput)e.userInput; 
                if (ui.Name == "Hellox") 
                { 
                    Character.Speak((object)"Hello. My name is tony." + " Pleased to meet you.", null); 
                } 
                else if (ui.Name == "Goodbye") 
                { 
                    Character.Speak((object)"It was nice talking to" + " you. Goodbye.", null);                 Character.Play("Wave"); 
                    Character.Play("Hide"); 
                } 
                else if (ui.Name == "Hello") 
                { 
                    Character.Speak("i am tony", null); 
                } 
                else 
                { 
                    Character.Speak("please chouse the menu",null); 
                } 
            } 
      

  2.   

    看着代码愁了好几天了
    哪位仁兄帮帮忙呀
    public IAgentCtlCharacterEx Character;  //agent character
    private void xiaom() 
            { 
                axAgent1.Characters.Load("xiaoM", (object)"C:/WINDOWS/msagent/chars/Audie.acs"); 
                Character = axAgent1.Characters["xiaoM"]; 
                Character.LanguageID = 0x409; 
                Character.Show(null); 
                Character.Speak("Hello World", null); 
                Character.Play("Wave"); 
                Character.Commands.RemoveAll(); 
                Character.Commands.Visible = true; 
                Character.Commands.Caption = "small m";             //定义右键菜单 
                Character.Commands.Add("Hello", "Hello", "Hello",true,true); 
                Character.Commands.Add("Hellox", (object)"Say Hello", (object)"([say](hello ¦ hi) ¦ good (day ¦ morning ¦ evening))", (object)true,(object)true); 
                Character.Commands.Add("Goodbye",(object)"Goodbye",(object)"(bye ¦ goodbye ¦ exit ¦ close ¦ quit)", (object)true,(object)true);         } 
    ////////以下是定义右键的菜单的功能 
            protected void axAgent1_Command(object sender,AxAgentObjects._AgentEvents_CommandEvent e) 
            { 
                IAgentCtlUserInput ui; 
                ui = (IAgentCtlUserInput)e.userInput; 
                if (ui.Name == "Hellox") 
                { 
                    Character.Speak((object)"Hello. My name is tony." + " Pleased to meet you.", null); 
                } 
                else if (ui.Name == "Goodbye") 
                { 
                    Character.Speak((object)"It was nice talking to" + " you. Goodbye.", null);                 Character.Play("Wave"); 
                    Character.Play("Hide"); 
                } 
                else if (ui.Name == "Hello") 
                { 
                    Character.Speak("i am tony", null); 
                } 
                else 
                { 
                    Character.Speak("please chouse the menu",null); 
                } 
            } 
      

  3.   

    老兄,我用你的代码完全能做到精灵右键的功能啊.没有任何更改.
    Hello
    SayHello
    goodbye
    都是好的,单调也能进入axAgent1_Command事件啊.
      

  4.   

    我是08的,但和05的应该是一样的.我的精灵是Merlin.acs,其他的一样.