日期:2014-05-18  浏览次数:21117 次

给ComboBox添加item是会触发的事件
如题

------解决方案--------------------
combobox添加数据后执行下
combo.Invalidate();

就会触发drawItem事件了
------解决方案--------------------
在combobox点击选项触发时间应该是用SelectedIndexChanged的,不明白楼主为什么说不可以
我举个例子吧
首先在winform里在combobox里面添加两个Item:111 112
双击combobox的SelectedIndexChanged事件,如果单击选项触发时间内容一样,那么只需要定义一个事件类容即可
例如
C# code
 private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            System.Diagnostics.Process.Start("IEXPLORE.EXE", "http://www.baidu.com");
        }

------解决方案--------------------
自己添加的,想触发什么事件都行

C# code

public class MyCtrl:Contrl
{
  private ComboBox _cb = new ComboBox();
  public event EventHandle AddItem;
  protected virtural void OnAddItem(EventArgs e)
  {
    if(AddItem != null)
    {
       AddItem(this,e);
    }
  }
  public void AddComboItem(string itemVal)
  {
    _cb.Items.Add(itemVal);
    OnAddItem(new EventArgs());
  }
}

------解决方案--------------------
什么方法,楼主可以公布一下吗?我的想法就是自定义一个控件,对ComboBox控件进行扩展,这样想怎么用就怎么用