Winform中实现ZedGraph新增自定义Y轴上下限、颜色、标题功能
生活随笔
收集整理的這篇文章主要介紹了
Winform中实现ZedGraph新增自定义Y轴上下限、颜色、标题功能
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
場景
Winform中實現ZedGraph的多條Y軸(附源碼下載):
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/100132245
在上面實現顯示多條自定義Y軸的效果上,改進實現自定義新增Y軸功能。
關注公眾號
霸道的程序猿
獲取編程相關電子書、教程推送與免費下載。
示例代碼下載
https://download.csdn.net/download/badao_liumang_qizhi/11653210
實現
主窗體添加按鈕,點擊之后彈出Y軸設置界面。
?private void button12_Click(object sender, EventArgs e){addY = new AddY();addY.Show();}其中addY是對應要彈窗顯示的窗體對象,其設計如下
?
此窗體有兩個EditText,用來存儲Y軸的上下限,然后使用RadioGroup用來設置標題的選擇,然后使用
ColorEditPicker進行顏色的選擇,以上的控件都是使用的DevExpress的控件。
在點擊新增按鈕時將控件上的所有屬性賦值給聲明的YAxis對象。
private void button1_Click(object sender, EventArgs e){YAxis y = new YAxis();//標題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);}}這里使用的是事件與委托進行跨窗體傳遞對象。
在AddY當前頁面代碼中
//委托的定義 public delegate void SetYaxisDelegete(YAxis s); //事件聲明 public static event SetYaxisDelegete setYaxisEvent;然后在主頁面Form1中的初始化方法中進行委托的訂閱
//添加Y軸 AddY.setYaxisEvent += new AddY.SetYaxisDelegete(addYaxis);此時傳遞了addYaxis方法名
方法代碼:
public void addYaxis(YAxis y){//如果是新增第二條Y軸if (ycount == 1){//第二條Y軸標題myPane.Y2Axis.Title.Text = y.Title.Text.ToString();//第二條Y軸下限myPane.Y2Axis.Scale.Min = y.Scale.Min;//第二條Y軸上限myPane.Y2Axis.Scale.Max = y.Scale.Max;//設置顏色myPane.Y2Axis.Color = y.Color;//設置刻度線字體顏色myPane.Y2Axis.Scale.FontSpec.FontColor = y.Color;//設置標題字體顏色myPane.Y2Axis.Title.FontSpec.FontColor = y.Color;//讓第二條Y軸顯示myPane.Y2Axis.IsVisible = true;ycount++;//關閉窗口addY.Close();zedGraphControl1.Invalidate();}//否則就是新增第三條及以上else{//int yIndex = myPane.YAxisList.Count+1;// 創建第yIndex條Y軸YAxis yAxisNew = new YAxis(y.Title.Text.ToString());yAxisNew.Scale.Min = y.Scale.Min;yAxisNew.Scale.Max = y.Scale.Max;//設置Y軸顏色yAxisNew.Color = y.Color;//設置刻度線字體顏色yAxisNew.Scale.FontSpec.FontColor = y.Color;//設置標題字體顏色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//關閉相反的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軸標簽,使其與軸平齊//yAxisNew.Scale.Align = AlignP.Inside;//添加到Y軸的listmyPane.YAxisList.Add(yAxisNew);//關閉窗口addY.Close();zedGraphControl1.Invalidate();}}效果
?
?
?
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的Winform中实现ZedGraph新增自定义Y轴上下限、颜色、标题功能的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Winform中设置ZedGraph曲线
- 下一篇: Winform中自定义xml配置文件,并