場景 Winform中對ZedGraph的RadioGroup進行數據源綁定,即通過代碼添加選項: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/100540152 Winform中自定義xml配置文件後對節點進行讀取與寫入: h ...
場景
Winform中對ZedGraph的RadioGroup進行數據源綁定,即通過代碼添加選項:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/100540152
Winform中自定義xml配置文件後對節點進行讀取與寫入:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/100532137
結合上面兩種效果實現打開一個新的窗體後,此窗體上的RadioGroup的選項是根據配置文件
中的配置自動生成的。
關註公眾號
霸道的程式猿
獲取編程相關電子書、教程推送與免費下載。
大量編程視頻教程:https://space.bilibili.com/164396311
配置文件代碼如下:
<?xml version="1.0" encoding="utf-8"?> <Configure> <!--Y軸集合--> <YAxis> <!--第一條Y軸--> <YAxi> <no>1</no> <title>霸道</title> <color>black</color> <min>-1500</min> <max>1500</max> </YAxi> <!--第二條Y軸--> <YAxi> <no>2</no> <title>電壓</title> <color>black</color> <min>-1500</min> <max>1500</max> </YAxi> <YAxi> <no>3</no> <title>badao</title> <color>red</color> <min>-1600</min> <max>1600</max> </YAxi> </YAxis> </Configure>
實現
新建一個窗體並拖拽一個RadioGroup控制項。
雙擊窗體進入其載入完之後的事件中
private void EditY_Load(object sender, EventArgs e) { List<YAxisModel> nodeYList = new List<YAxisModel>(); //獲取可執行文件的路徑-即bin目錄下的debug或者release目錄 string context = System.Windows.Forms.Application.StartupPath; string path = String.Concat(context,@"\config\YAxisSet.xml"); XmlDocument xml = new XmlDocument(); //打開一個xml try { xml.Load(path); //讀取節點數據 XmlNodeList nodeList = xml.SelectNodes("Configure/YAxis/YAxi"); foreach (XmlNode n in nodeList) { YAxisModel ya = new YAxisModel(); ya.No = int.Parse(n.SelectSingleNode("no").InnerText); ya.Title = n.SelectSingleNode("title").InnerText; ya.Color = n.SelectSingleNode("color").InnerText; ya.Min = double.Parse(n.SelectSingleNode("min").InnerText); ya.Max = double.Parse(n.SelectSingleNode("max").InnerText); nodeYList.Add(ya); } } catch (Exception ex) { Console.WriteLine(ex.Message); } //數據綁定 foreach (YAxisModel s in nodeYList) { //每一個單元按鈕對應的選線item RadioGroupItem item = new RadioGroupItem(); //設置選項的value值 item.Value = s.No; //設置選項的描述值 即 要顯示的值 item.Description = s.Title; //使選項啟用 item.Enabled = true; //將新增的選項添加到radiogroup的Items中 this.radioGroup1.Properties.Items.Add(item); } //預設選中value為1的項 radioGroup1.EditValue = 1; }
在此之前要新建一個對象用來存取讀取的配置文件的YAxi節點的屬性。
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ZedGraphTest.model { class YAxisModel { private int no; public int No { get { return no; } set { no = value; } } private string title; public string Title { get { return title; } set { title = value; } } private string color; public string Color { get { return color; } set { color = value; } } private double min; public double Min { get { return min; } set { min = value; } } private double max; public double Max { get { return max; } set { max = value; } } } }
效果