问题描述
使用一个ChartControl想定制标注坐标轴上的刻度内容,比如1000khz,可以显示为1Mhz或1000000Hz。在使用CustomLabel是发现,更改了Customlabel的text属性,但显示的内容之包涵text属性的第一个字符。是不是有什么设置不对?for(inti=1;i<=10;i++){doubleFrom=860+(1000-860)*(i-1)/(10.0)-1;doubleTo=860+(1000-860)*(i-1)/(10.0)+1;stringstr1;str1=(i*10).ToString();CustomLabellbl=newCustomLabel(From,To,str1,1,LabelMarkStyle.None);caTemp.AxisX.CustomLabels.Add(lbl);//caTemp.AxisX.CustomLabels.Add(From,To,str1,1,LabelMarkStyle.None);//caTemp.AxisX.Interval=1;}
解决方案
解决方案二:
str1=(i*10).ToString()应该是str1=i.ToSting()+"kHz";类似这样的代码。但无论如何,都是显示text属性的第一个字符。如图片中的细线红色矩形框里的内容。
解决方案三:
由于有代码设置了ChartArea自带的Area的labelformat.对CostomLabel有影响,取消自带的label,只使用CustomLabel就没有问题了。
解决方案四:
ruma232楼由于有代码设置了ChartArea自带的Axis的labelformat.对CostomLabel有影响,取消自带的label,只使用CustomLabel就没有问题了。