场景

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. kvm 内部错误:无法找到适合 x86_64 的模拟器

    0x00 问题 安装完 KVM 之后,启动管理工具报错:内部错误:无法找到适合 x86_64 的模拟器 于是查看 libvirtd 服务状态,查看到以下内容: 6月 14 10:18:53 local ...

  2. Spring Boot 与 Mybatis、Mysql整合使用的例子

    第一步: 创建一个SpringBoot的工程,在其中的Maven依赖配置中添加对JDBC.MyBatis.Mysql Driver的依赖具体如下: <!-- JDBC --> <de ...

  3. 学完JavaScript基础有感

    紧接上一篇回来了,这几天一直学js,会不自觉的和其他的编程语言联系在一起,在没有学jQuery之前,结合我所学的c,java,数据结构,数据库以及部分html感觉到JavaScript里面又很多相似的 ...

  4. AVL树(二叉平衡树)详解与实现

    AVL树概念 前面学习二叉查找树和二叉树的各种遍历,但是其查找效率不稳定(斜树),而二叉平衡树的用途更多.查找相比稳定很多.(欢迎关注数据结构专栏) AVL树是带有平衡条件的二叉查找树.这个平衡条件必 ...

  5. 分享:个人APP(非企业资质)的微信登录方案

    目前微信开放平台个人主体类APP不支持开通微信登录,那么个人开发者如何解决微信登录的问题呢?目前有一种替代方案是用微信小程序作为媒介来达到微信登录的目的. 微信小程序的登录无需企业资质,同时登录后返回 ...

  6. Keras实例教程(1)

    https://blog.csdn.net/baimafujinji/article/details/78384792

  7. CNN中1x1 卷积的处理过程及作用

    参看:https://blog.csdn.net/ybdesire/article/details/80314925

  8. Integer 使用==判断127和超过128的数据的区别

    Integer封装类型字数据当超过一定长度后,若使用==来判断数否相等,那么判断的结果是false; Integer的范围是超过128就是false. 对于所有封装类而言,建议使用equals来进行判 ...

  9. 随笔编号-08 MYSQL 存储过程,5分钟执行调用过程;

    delimiter //DROP PROCEDUREIF EXISTS jdt.day_instan_data_task// CREATE PROCEDURE jdt.day_instan_data_ ...

  10. SQL奇技淫巧(01):给查出的数据排序编个号【row_number() over(order by c)】(mysql,db2,oracle,sqlserver通用)

    我们天天都在跟数据库打交道,写下的代码不计其数,写下的SQL更是可以绕地球几圈.这里收集关于SQL的神奇语法及用法,虽然你可能没有用过,但这些SQL却可以在关键的时候,派上用场. 我对SQL语句的理解 ...