我从 ComboBox 派生了一个类:MultiColumnComboBox:
当单击 ComboBox 右边向下的箭头时,我的类型会显示一个关联的 DataGridView,
但此时 ComboBox 的默认实现会下拉出一个空的列表控件,这非常难看!
我希望单击箭头时,不显示下拉出来的列表控件,该如何做呢?
当单击 ComboBox 右边向下的箭头时,我的类型会显示一个关联的 DataGridView,
但此时 ComboBox 的默认实现会下拉出一个空的列表控件,这非常难看!
我希望单击箭头时,不显示下拉出来的列表控件,该如何做呢?
为什么不利用DrawItem~~~~~codeproject上有例子
自己去找找~~~~
http://www.codeproject.com/cs/combobox/DotNetMultiColumnComboBox.asp
拥有者自绘的 ComboBox 不方便,因为要绑定到一个 DataTable,使用 DataGridView 是最好的。你介绍的控件我在开发之前就看过了,它没有列标头,不适合我的项目。To hbxtlhx:
我也想过使用一个复合控件:TextBox + Button 来实现。To All:
我现在想知道的是:如何不让 ComboBox 显示自己的列表控件?
combox1.DropDownHeight = 1;
combox1.DropDownWidth = 1;
dbgV.Visible=false;
然后再
private void cboLst_MouseClick(object sender, MouseEventArgs e)
{
dbgV.Top = cboLst.Top + cboLst.Height;
dbgV.Left = cboLst.Left;
dbgV.Visible = true;
dbgV.Show();
}
----------------------------------------------
刚试过,没问题。可以不显示combox的那空白行。
{
e.ItemHeight = 0;
}
对这个事件进行处理就可以不显示,只是把高度设为了0而已。能实现你要的效果。或者你把这个事件进行重写,那么就可以直接实现了,不用在事件委托里设置了。
combox1.DropDownWidth = 1; 这两个属性,就可以不显示它的列表控件了。
非常感谢您!
To lye2000000_Super:因为 Red_Fish 的方法已经实现了我想要的效果,所以您的方法我没有试过。
不管怎么说,还是说声谢谢!