Winform中实现ZedGraph新增自定义Y轴上下限、颜色、标题功能
場景
Winform中實(shí)現(xiàn)ZedGraph的多條Y軸(附源碼下載):
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/100132245
在上面實(shí)現(xiàn)顯示多條自定義Y軸的效果上,改進(jìn)實(shí)現(xiàn)自定義新增Y軸功能。
關(guān)注公眾號
霸道的程序猿
獲取編程相關(guān)電子書、教程推送與免費(fèi)下載。
示例代碼下載
https://download.csdn.net/download/badao_liumang_qizhi/11653210
實(shí)現(xiàn)
主窗體添加按鈕,點(diǎn)擊之后彈出Y軸設(shè)置界面。
?private void button12_Click(object sender, EventArgs e){addY = new AddY();addY.Show();}其中addY是對應(yīng)要彈窗顯示的窗體對象,其設(shè)計如下
?
此窗體有兩個EditText,用來存儲Y軸的上下限,然后使用RadioGroup用來設(shè)置標(biāo)題的選擇,然后使用
ColorEditPicker進(jìn)行顏色的選擇,以上的控件都是使用的DevExpress的控件。
在點(diǎn)擊新增按鈕時將控件上的所有屬性賦值給聲明的YAxis對象。
private void button1_Click(object sender, EventArgs e){YAxis y = new YAxis();//標(biāo)題y.Title.Text = this.radioGroup1.Text;//顏色y.Color = this.colorPickEdit1.Color;//下限y.Scale.Min = Double.Parse(this.textEdit1.Text);//上限y.Scale.Max = Double.Parse(this.textEdit2.Text);if (setYaxisEvent != null){setYaxisEvent(y);}}這里使用的是事件與委托進(jìn)行跨窗體傳遞對象。
在AddY當(dāng)前頁面代碼中
//委托的定義 public delegate void SetYaxisDelegete(YAxis s); //事件聲明 public static event SetYaxisDelegete setYaxisEvent;然后在主頁面Form1中的初始化方法中進(jìn)行委托的訂閱
//添加Y軸 AddY.setYaxisEvent += new AddY.SetYaxisDelegete(addYaxis);此時傳遞了addYaxis方法名
方法代碼:
public void addYaxis(YAxis y){//如果是新增第二條Y軸if (ycount == 1){//第二條Y軸標(biāo)題myPane.Y2Axis.Title.Text = y.Title.Text.ToString();//第二條Y軸下限myPane.Y2Axis.Scale.Min = y.Scale.Min;//第二條Y軸上限myPane.Y2Axis.Scale.Max = y.Scale.Max;//設(shè)置顏色myPane.Y2Axis.Color = y.Color;//設(shè)置刻度線字體顏色myPane.Y2Axis.Scale.FontSpec.FontColor = y.Color;//設(shè)置標(biāo)題字體顏色myPane.Y2Axis.Title.FontSpec.FontColor = y.Color;//讓第二條Y軸顯示myPane.Y2Axis.IsVisible = true;ycount++;//關(guān)閉窗口addY.Close();zedGraphControl1.Invalidate();}//否則就是新增第三條及以上else{//int yIndex = myPane.YAxisList.Count+1;// 創(chuàng)建第yIndex條Y軸YAxis yAxisNew = new YAxis(y.Title.Text.ToString());yAxisNew.Scale.Min = y.Scale.Min;yAxisNew.Scale.Max = y.Scale.Max;//設(shè)置Y軸顏色yAxisNew.Color = y.Color;//設(shè)置刻度線字體顏色yAxisNew.Scale.FontSpec.FontColor = y.Color;//設(shè)置標(biāo)題字體顏色yAxisNew.Title.FontSpec.FontColor = y.Color;//yAxisNew.Type = AxisType.Text;//顯示小刻度 是false則看不到效果//yAxisNew.MinorGrid.IsVisible = true;// turn off the opposite tics so the Y2 tics don't show up on the Y axis//關(guān)閉相反的tics,使y2 tics不會顯示在y軸上yAxisNew.MajorTic.IsInside = true;yAxisNew.MinorTic.IsInside = true;yAxisNew.MajorTic.IsOpposite = true;yAxisNew.MinorTic.IsOpposite = true;// Align the Y2 axis labels so they are flush to the axis//對齊Y2軸標(biāo)簽,使其與軸平齊//yAxisNew.Scale.Align = AlignP.Inside;//添加到Y(jié)軸的listmyPane.YAxisList.Add(yAxisNew);//關(guān)閉窗口addY.Close();zedGraphControl1.Invalidate();}}效果
?
?
?
與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的Winform中实现ZedGraph新增自定义Y轴上下限、颜色、标题功能的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Winform中设置ZedGraph曲线
- 下一篇: Winform中自定义xml配置文件,并