我使用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);
这些任务都显示正常,但是当我鼠标悬停时根本不会触发任务事件。如果有人能给我任何关于我失踪的指导,我会非常感激。
谢谢, 麦克
答案 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