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

自制控件,Combobox选项修改后隐藏,事件问题[在 组件/控件开发 没达人回答,再发]
C# code

void EditorSelectedIndexChanged(object sender, EventArgs e)
{
    _selectedItem = (sender as ComboBox).SelectedItem;
    //Parent.HideEditor(); // 本来通过这行可以隐藏,但是当通过上下键修改时也立即隐藏了
}





  通过上下键选择后,通过: 

C# code

void EditorKeyDown(object sender, KeyEventArgs e)
{
        if (e.KeyCode == Keys.Enter)
                Parent.HideEditor();
    if (e.KeyCode == Keys.Escape)
        EndEdit(true);
}




  可以实现回车确定选择后再隐藏。 
  现在的问题是,如果通过鼠标点击选择,应该怎么判断?在哪个事件中? 
  我试过Click、MouseClick事件,好像都是Combobox右侧按钮的事件,或者先引发SelectedIndexChanged,再有MouseClick事件。

------解决方案--------------------
ComboBox已经集成有自动匹配的功能:
C# code

this.comboBox1.DataSource = dt;
            this.comboBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
            this.comboBox1.AutoCompleteSource = AutoCompleteSource.ListItems;

------解决方案--------------------

 http://lokcore.com/sunny/article.asp?id=11
 http://lokcore.com/sunny/article.asp?id=17
TreeView控件和Combox组合控件开发