显示/隐藏悬停弹出窗口的最佳方法

时间:2008-11-25 21:41:31

标签: .net winforms

我有一个从DataGridView派生的日历控件。自定义项目悬停事件已经到位。处理事件时,我有悬停的项目和鼠标位置。显示弹出窗口以及有关该项目的详细信息的最佳方法是什么?我应该使用精简版(没有标题栏,控制框等)并在MouseLeave上关闭它吗?还有更好的方法吗?

谢谢!

3 个答案:

答案 0 :(得分:2)

任何类型的Control,Panel,UserControl等等。只要它们不必弹出当前表单,它们就可以执行。如果它需要弹出,你可能需要使用你所说的表格并删除它的边框。

在主窗体中预创建控件或窗体,然后当鼠标悬停所需的控件时,使弹出控件可见,当鼠标离开时,使其不可见。

只是注意鼠标事件,他们可能会被新近控制的人抓住。这可能需要一点定位体操,因为你必须偏移位置,以便光标永远不会悬停在poped控件上。

以Microsoft Windows工具提示为例。

答案 1 :(得分:0)

使用精简版表格结束。要自动关闭它,我在load事件上启动一个计时器,并在每个tick上检查光标位置是否仍然在表单内。工作得很好。

答案 2 :(得分:-3)

我使用thickbox(jQuery插件)这样的弹出窗口。它允许您使用各种方法显示数据(ajax,iFrame),您还可以在需要捕获数据时从弹出窗口设置回调。如果您想了解我最近如何使用它,您可以点击此页面上的任何演示链接:

http://www.prolifiq.net/Corporate/inaction.aspx