日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Winform中实现ZedGraph新增自定义Y轴上下限、颜色、标题功能

發布時間:2025/3/19 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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轴上下限、颜色、标题功能的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。