场景

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></no>
<title>霸道</title>
<color>black</color>
<min>-</min>
<max></max>
</YAxi>
<!--第二条Y轴-->
<YAxi>
<no></no>
<title>电压</title>
<color>black</color>
<min>-</min>
<max></max>
</YAxi>
<YAxi>
<no></no>
<title>badao</title>
<color>red</color>
<min>-</min>
<max></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 = ;
}

在此之前要新建一个对象用来存取读取的配置文件的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; }
}
}
}

效果

Winform中实现读取xml配置文件并动态配置ZedGraph的RadioGroup的选项的更多相关文章

  1. Winform中对自定义xml配置文件进行Xml节点的添加与删除

    场景 Winform中自定义xml配置文件后对节点进行读取与写入: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10053213 ...

  2. Spring中加载xml配置文件的六种方式

    Spring中加载xml配置文件的六种方式 博客分类: Spring&EJB XMLSpringWebBeanBlog  因为目前正在从事一个项目,项目中一个需求就是所有的功能都是插件的形式装 ...

  3. 【XML配置文件读取】使用jdom读取XML配置文件信息

    在项目中我们经常需要将配置信息写在配置文件中,而XML配置文件是常用的格式. 下面将介绍如何通过jdom来读取xml配置文件信息. 配置文件信息 <?xml version="1.0& ...

  4. 如何配置多个Spring的xml配置文件(多模块配置)

    如何使用多个Spring的xml配置文件(多模块配置) (2009-08-22 13:42:43)   如何使用多个Spring的xml配置文件(多模块配置) 在用Struts Spring Hibe ...

  5. Winform中自定义xml配置文件,并配置获取文件路径

    场景 在Winform程序中,需要将一些配置项存到配置文件中,这时就需要自定义xml的配置文件格式.并在一些工具类中去获取配置文件的路径并加载其内容. 关注公众号霸道的程序猿获取编程相关电子书.教程推 ...

  6. WinForm中DataGridView对XML文件的读取

    转自http://www.cnblogs.com/a1656344531/archive/2012/11/28/2792863.html c#读取XML   XML文件是一种常用的文件格式,例如Win ...

  7. Log4Net读取XML配置文件及在代码中完成添加Logger操作

    解决问题: 将log4net配置文件与app.config配置文件分开 手动读取log4net配置文件 手动创建logger 可将日志输出功能封装在类库中,应用程序引用时无需添加assembly引用及 ...

  8. cocos2dx中调用TinyXml读取xml配置文件 || cocos2d-x 中跨平台tinyxml读取xml文件方式

    TiXmlDocument *doc = newTiXmlDocument; #if (CC_TARGET_PLATFORM ==CC_PLATFORM_ANDROID) //Android平台tin ...

  9. DOM4J 读取XML配置文件进行数据库连接

        介绍介绍DOM4J.    据说是非常优秀非常优秀的Java XML  API(Dom4j is an easy to use, open source library for working ...

随机推荐

  1. mybatis 源码分析(一)框架结构概览

    本篇博客将主要对 mybatis 整体介绍,包括 mybatis 的项目结构,执行的主要流程,初始化流程,API 等各模块进行简单的串联,让你能够对 mybatis 有一个整体的把握.另外在 myba ...

  2. SBT安装及命令行打包spark程序

    1.从https://www.scala-sbt.org/download.html官网上寻找所需要的安装包 可以直接本地下载完扔进去也可以wget路径,在这里我用的是sbt1.2.8版本的,下载到/ ...

  3. K8S搭建-1 Master 2 Workers(dashboard+ingress)

    本文讲述k8s最新版的搭建(v1.15.2) 分如下几个topic步骤: 各个节点的基本配置 master节点的构建 worker节点的构建 安装dashboard 安装ingress 常见命令 do ...

  4. java并发系列 - 第28天:实战篇,微服务日志的伤痛,一并帮你解决掉

    这是java高并发系列第28篇文章. 环境:jdk1.8. 本文内容 日志有什么用? 日志存在的痛点? 构建日志系统 日志有什么用? 系统出现故障的时候,可以通过日志信息快速定位问题,修复bug,恢复 ...

  5. (四)Lock,ReentrantLock,ReentrantReadWriteLock类的使用以及相关api---synchronized进阶

    这篇博客记录了Lock,ReentrantLock,ReentrantReadWriteLock类的使用以及其一些api: 码字不易~~另外<java多线程编程核心技术>这本书读着很爽 前 ...

  6. Java8 日期 API 业务使用

    最近在做账单结算业务,需要根据客户选择的结算方式来推算下一次结算日期以及该次结算日期段. 推算日期这样的业务直男君以前就写过,只不过使用的是熟悉的 java.util.date 和 java.util ...

  7. 图解Nginx限流配置

    本文以示例的形式,由浅入深讲解Nginx限流相关配置,是对简略的官方文档的积极补充. Nginx限流使用的是leaky bucket算法,如对算法感兴趣,可移步维基百科先行阅读.不过不了解此算法,不影 ...

  8. Mybatis关联查询<association> 和 <collection>

    一.背景 1.在系统中一个用户存在多个角色,那么如何在查询用户的信息时同时把他的角色信息查询出来啦? 2.用户pojo: public class SysUser { private Long id; ...

  9. Kth Minimum Clique_2019牛客暑期多校训练营(第二场)

    题目连接: https://ac.nowcoder.com/acm/contest/882/D Description Given a vertex-weighted graph with N ver ...

  10. HDU-6053 TrickGCD

    题目连接: https://vjudge.net/problem/HDU-6053 Description You are given an array A , and Zhu wants to kn ...