Hi :¬)We have large data sets and we augment the scatercharts we do with robust curve fitting functionsWe have found that when a mouse leave the chart this causes a Major regenerations of the chartI am assuming this is to clean up any tooltips that might be leftIt still does this even if Tooltip::Never is used.I had this problem 3 years ago but it was fixed but its crept back over the yearsI am now having make assumptions and edit the source code to get a usable program.
I have included the Source changes I have made and I would be very gratefull if you can think of a stock way to stop OnMouseLeave eventualy causing chart.Dirty to be set to true thus causing major recreation of chart.UltraWinChart.cs: line 6016 - current 2010.1 SR1 source releaseprotected override void OnMouseLeave(EventArgs e) { //MAC this causes massive rebuild of charts when mouse leaves the chart //MAC we can not have this it makes our program unusable :¬( //MAC even if you have "Tooltips:Never" maybe it should check this //MAC From what i can see "this.Tool" is not major part of the ultrachart system //MAC damage happens here.. because of "IChartComponent.Invalidate" makes chart.Dirty //Infragistics2.Win.UltraWinChart.v10.1.dll!Infragistics.Win.UltraWinChart.UltraChart.Infragistics.UltraChart.Resources.IChartComponent.Invalidate(Infragistics.UltraChart.Shared.Styles.CacheLevel cacheLevel = LayerLevelCache) Line 5498 C# //Infragistics2.Win.UltraWinChart.v10.1.dll!Infragistics.Win.UltraWinChart.InteractionTool.InvalidateView(Infragistics.UltraChart.Shared.Styles.CacheLevel cacheLevel = LayerLevelCache) Line 187 + 0xf bytes C# //Infragistics2.Win.UltraWinChart.v10.1.dll!Infragistics.Win.UltraWinChart.DefaultTool.Stop() Line 192 + 0xd bytes C# //Infragistics2.Win.UltraWinChart.v10.1.dll!Infragistics.Win.UltraWinChart.UltraChart.Tool.set(Infragistics.Win.UltraWinChart.IInteractionTool value = null) Line 5890 + 0xf bytes C# //Infragistics2.Win.UltraWinChart.v10.1.dll!Infragistics.Win.UltraWinChart.UltraChart.OnMouseLeave(System.EventArgs e = {System.EventArgs}) Line 6018 + 0xa bytes C# // //this.Tool = null; base.OnMouseLeave(e); }
Many thanks as usual :¬)
Bump due to change in support system - "Faster Responses, More Content and Better Infragistics Help" 11 may 2010
i'm looking into possible solutions, along with the developer who redid the mouse interaction code back in 2008 volume 2. stay tuned...
Many thanks David for loooking into this I would be nice to get back to stock releases of Infragistics :¬)
We dont use any adornment layers or tooltips maybe the chart.dirty is in case of those type of things
maybe if no tooltips used dont flag it dirty? but i dont know your soft as good as yourselves :¬)
Teodor made the necessary adjustments in DefaultTool.Stop() - the view will no longer be invalidated if crosshairs and tooltips are disabled.
This fix will be included in an upcoming service release.
bmcloughlin said:maybe if no tooltips used dont flag it dirty?
yes, that would certainly be the low-risk way to fix it, and was one of the first solutions that occurred to me. we're just going to do a little more investigation and testing before settling on a solution.
in the meantime, my colleague Teodor suggested using inheritance to solve this instead of modifying the source code:
public class CustomUltraChart : UltraChart
{
public CustomUltraChart() { }
protected override void OnMouseLeave(EventArgs e) { }
}