启用工具提示ActiveGantt 3.0.9.0

时间:2014-05-28 20:25:43

标签: c# winforms gantt-chart

我使用http://www.bootes.co/EN/Default.aspx的ActiveGantt 3.0.9.0 CSN控件整理表单。

private void activeGanttCSNCtl1_OnMouseHoverToolTipDraw(object sender, ToolTipEventArgs e)
  {
     switch (e.EventTarget)
     {
        case E_EVENTTARGET.EVT_TASK:
           TaskToolTipDraw(e);
           e.CustomDraw = true;
           return;
        case E_EVENTTARGET.EVT_SELECTEDTASK:
           TaskToolTipDraw(e);
           e.CustomDraw = true;
           return;
        case E_EVENTTARGET.EVT_PERCENTAGE:
           TaskToolTipDraw(e);
           e.CustomDraw = true;
           return;
        case E_EVENTTARGET.EVT_SELECTEDPERCENTAGE:
           TaskToolTipDraw(e);
           e.CustomDraw = true;
           return;
     }

然而,e.EventTarget拒绝触发任务。我可以检查值并移动控件,我可以获得EVT_Clientarea,EVT_Row,EVT_Column,EVT_None,EVT_Splitter,EVT_Timeline,EVT_TimelineScrollBar来触发。但是,对于我通过此功能添加的任务,它只是声明我在EVT_Clientarea:

activeGanttCSNCtl1.Tasks.Add(AddingTask.Description, AddingTask.RowKey, AddingTask.StartTime, AddingTask.EndTime, AddingTask.ID, AddingTask.Style, AddingTask.Layer);

这些任务都显示正常,但是当我鼠标悬停时根本不会触发任务事件。如果有人能给我任何关于我失踪的指导,我会非常感激。

谢谢, 麦克

1 个答案:

答案 0 :(得分:0)

感谢您提出这个问题。尝试覆盖ToolTipOnMouseHover:

private void ActiveGanttCSNCtl1_ToolTipOnMouseHover(object sender, AGCSN.ToolTipEventArgs e)
        {
            switch (e.EventTarget)
            {
                case E_EVENTTARGET.EVT_TASK:
                case E_EVENTTARGET.EVT_SELECTEDTASK:
                    ActiveGanttCSNCtl1.ToolTip.Visible = true;
                    return;
            }
            ActiveGanttCSNCtl1.ToolTip.Visible = false;
        }

当ToolTip对象的Visible属性设置为true,ToolTipOnMouseHover和OnMouseHoverToolTipDraw一起工作时,将触发OnMouseHoverToolTipDraw。在ToolTipOnMouseHover中,您通常执行计算并在OnMouseHoverToolTipDraw中执行实际绘图。

在上面的示例中,OnMouseHoverToolTipDraw仅针对任务引发,而忽略所有其他对象。 ActiveGantt处理被选为两个不同对象的任务和任务。

最诚挚的问候,

Julio Luzardo

BoötesSystemsSAS