最近项目使用到MSChart图表,MSChart自带缩放功能,缩放区域的颜色默认是浅灰色,客户想把颜色改一下,改成亮一点的颜色。
网上查了下,针对这么细节的设置,没有相关的资料
查了一下MSChart的属性,也没有找到设置这个颜色的
后来想着破解MSChart的源代码,看是在哪里进行设置的
MSChart的命名空间为System.Windows.Forms.DataVisualization,通过ILSpy破解该Dll,
在Chart类中发现有SelectionRangedChanged事件
右键选择【分析】,查看有哪些地方调用了该事件
发现在System.Windows.Forms.DataVisualization.Charting.Cursor中有调用
找到System.Windows.Forms.DataVisualization.Charting.Cursor这个类
发现这个类中有SelectionColor属性,尝试改变ChartArea的CursorX、CursorY属性,发现有效果,问题解决
Chart.ChartAreas[_defaultChartAreaName].CursorX.SelectionColor =System.Drawing.Color.Red;
Chart.ChartAreas[_defaultChartAreaName].CursorY.SelectionColor= System.Drawing.Color.Red;