标题很诱人,google、baidu了一通都没有找到解决方案,于是自己想了下。其实对于ListBox本身是没有实现双击选中项这个函数的,需要自己程序实现,
下面是我的方式,发上来共享一下,不足之处请指出
//lbTables是一个ListBox的实例。首先判断是否选中项为一项,如果是一项,然后判断鼠标双击的那个点是否落在那个双击项的矩形框里,是的执行自己的
//函数,搞定
if (lbTables.SelectedItems.Count == 1)
{
Rectangle rec= lbTables.GetItemRectangle(lbTables.SelectedIndex);
int left = rec.Left;
int right = rec.Right;
int top = rec.Top;
int bottom = rec.Bottom;
if (e.X > left && e.X < right && e.Y > top && e.Y < bottom)
{
_lstLeftTables.Remove(lbTables.SelectedValue.ToString());
_lstRightTables.Add(lbTables.SelectedValue.ToString());
BindData();
}
}
ps:其实可以自己继承ListBox将这个事件重写了,分发个ItemDoubleClick事件。