文章目录
前言
winform中的listbox控件实现拖拽时,如果窗体内含有Combox控件时,当选中listbox的项时,再点击combox的下拉按钮,listbox里面的项会闪!
一、为什么会闪?
当按下Combox控件的下拉按钮时,控件会通知窗体进行重绘,
也有可能Combox下拉是有listbox实现的所以有冲突。
二、解决办法
1、在窗体加一个其他控件,例如按钮
2、在四个事件中添加this.button1.Focus();将焦点先转移到按钮上
c
private void Listtarget_DragEnter(object sender, DragEventArgs e)
{
e.Effect = DragDropEffects.Move;
this.button1.Focus();
}
为什么要这样,因为当焦点转移到其他控件上时,再点击combox的下拉按钮listbox就不会闪。
效果图