http://www.codeproject.com/Articles/2681/Balloon-Windows-for-NET

解决方案 »

  1.   

    tooltips  好像可以试试
      

  2.   

    这个应该类似mousemove事件中添加代码吧
      

  3.   

    主要的概念就是 隐藏窗口的事件何时触发并不是鼠标一离开panel就触发
    而是离开了panel 要有一个小的时间间隔 然后 去判断标记位 如果可以隐藏 再隐藏这里有几个概念
    bool 是否可以隐藏窗体(就叫他ToolTip窗体吧) 默认=false;
    panel.OnMouseEnter | OnMouseMove{
    是否可以隐藏窗体 = false;
    如果没有显示ToolTip窗体,就显示它;// 这里分开到两个事件里做也可以
    }
    panel.OnMouseOut{
    先设置 是否可以隐藏窗体=true;
    等待一段时间,假设1秒,给用户把鼠标移动到ToolTip上的机会
    if(是否可以隐藏窗体) 那么就隐藏吧
    }ToolTip窗体.OnMouseEnter | OnMouseMove{
    是否可以隐藏窗体 = false; //这样来拒绝panel.OnMouseOut隐藏窗体
    }当然 ToolTip窗体的OnMouseOut也要做panel.OnMouseOut的事情 只不过是隐藏不隐藏自己的问题