comboBoxDKH.SelectedIndexChanged += (o, ex) => { COMClose(); comPort.PortName = comboBoxDKH.SelectedItem.ToString(); COMOpen(); };

解决方案 »

  1.   

    简单的事件响应嘛,不过用Lamda表达式的形式
    comboBoxDKH.SelectedIndexChanged +=new EventHandler (haha);
    void haha (object o,EventArgs ex)
    {
    COMClose(); 
    comPort.PortName = comboBoxDKH.SelectedItem.ToString(); 
    COMOpen(); 
    }
      

  2.   

    也可以用代理:
    comboBoxDKH.SelectedIndexChanged += delegate { COMClose(); comPort.PortName = comboBoxDKH.SelectedItem.ToString(); COMOpen(); };
      

  3.   

    给SelectedIndexChanged添加一个事件处理函数,函数的参数是o和ex,函数的内容是COMClose(); comPort.PortName = comboBoxDKH.SelectedItem.ToString(); COMOpen(); 
      

  4.   

    要想真正理解这行代码,你需要先理解下面的两个知识点:
    1.委托与事件。
    2.Lambda表达式。
      

  5.   

    就是一个LAMDA 表达式。也叫匿名方法。好像是3.5框后才有的东西。
    它是把一个本来要正常写出来的方法直接简写成一个没有名字的(匿名)方法,这样就可以直接在=号右则使用,简化代码。 
      

  6.   

    comboBoxDKH.SelectedIndexChanged += (o, ex) => { COMClose(); comPort.PortName = comboBoxDKH.SelectedItem.ToString(); COMOpen(); };
    说的是,当comboBoxDKH对象的SelectedIndexChanged事件发生时,调用+=后面的委托匿名函数,也就执行{}中的代码,其中 +=和=>中间的是参数,+=后面是一个lamba表达式,可以返回一个委托对象,
      

  7.   

    comboBoxDKH.SelectedIndexChanged += (o, ex) => { COMClose(); comPort.PortName = comboBoxDKH.SelectedItem.ToString(); COMOpen(); }; //Lamdba表达式
    comboBoxDKH.SelectedIndexChanged += delegate { COMClose(); comPort.PortName = comboBoxDKH.SelectedItem.ToString(); COMOpen(); };//匿名委托
    详细的,请参考这篇博客重点插图。http://blog.csdn.net/chinacsharper/article/details/11880559。注意区别。
      

  8.   

    没什么意思,匿名委托 看下msdn估计有小例子