场景

DevExpress的RadioGroup的items选项如果是不确定的话,需要其从配置文件中加载。

实现

在项目目录下新建Config文件夹,文件夹下新建xml配置文件。

<?xml version="1.0" encoding="utf-8" ?>
<!--图形选项功能Dialog中的RadioGroup中的X轴Items选项配置-->
<items>
<item>电流</item>
<item>电压</item>
<item>温度</item>
<item>比容量</item>
<item>能量</item>
<item>比能量</item>
<item>交流内阻</item>
<item>功率</item>
<item>dQ/dV</item>
<item>dQm/dV</item>
</items>

并且设置在其较新时复制到输出目录:

然后在显示RadioGroup的窗体的加载事件中。

 List<string> XradioGrupItems = initRadioGroupItem(Global.RADIO_GROUP_ITEM_FILEPATH_X);c

读取配置文件中的item选项。

 public List<string> initRadioGroupItem(string xmlFilePath)
{
List<string> radioGrupItems = ChartOptionHelper.getRadioGroupItems(xmlFilePath);
return radioGrupItems;
}

这里调用了工具类去访问配置文件的item并存到一个list中。

 public static List<string> getRadioGroupItems(string xmlFilePath)
{
List<string> radioGroupItems = new List<string>();
XmlDocument xml = ReadXMLConfigHelper.readXml(xmlFilePath);
XmlNodeList nodeList = ReadXMLConfigHelper.getNodeListByXpath(xml, Global.RADIO_GROUP_ITEM_XPATH);
foreach(XmlNode xmlNode in nodeList)
{
radioGroupItems.Add(xmlNode.InnerText);
}
return radioGroupItems;
}

其中业务工具类又调用了公共的读取配置文件的工具类。

工具类方法参照:

C#中读写Xml配置文件常用方法工具类:

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/100879220

上面全局变量的Xpath的表达式的参数为全局变量:

public const string RADIO_GROUP_ITEM_XPATH = "items/item";

生成RadioGroup并给其赋值

RadioGroup radioGroupX = new RadioGroup();
foreach (string s in XradioGrupItems)
{
//每一个单元按钮对应的选项item
RadioGroupItem item = new RadioGroupItem();
//设置选项的value值
item.Value = s;
//设置选项的描述值 即 要显示的值
item.Description = s;
//使选项启用
item.Enabled = true;
//将新增的选项添加到radiogroup的Items中
radioGroupX.Properties.Items.Add(item);
}
//设置默认选中值
radioGroupX.EditValue = xAttribute.Title;
//设置宽度
radioGroupX.Width = Global.CHART_OPTION_WIDTH;
//加1 保持与Y轴高度一致
radioGroupX.Height = Global.RADIO_HEIGHT * (XradioGrupItems.Count + );
//设置位置
radioGroupX.Location = new Point(Global.NOGROUP_HORIZONTAL_DISTANCE , Global.GROUP_VERTICAL_DISTANCE);
//name
radioGroupX.Name = "radioGroupX";
//设置父级容器
radioGroupX.Parent = panelControlX;

Winform中设置DevExpress的RadioGroup的items从配置文件中加载的更多相关文章

  1. Spring中 <context:property-placeholder 的使用与解析 .properties 配置文件的加载

    转: Spring中property-placeholder的使用与解析 Spring中property-placeholder的使用与解析 我们在基于spring开发应用的时候,一般都会将数据库的配 ...

  2. web.xml中如何设置配置文件的加载路径

    web应用程序通过Tomcat等容器启动时,会首先加载web.xml文件,通常我们工程中的各种配置文件,如日志.数据库.spring的文件等都在此时被加载,下面是两种常用的配置文件加载路径,即配置文件 ...

  3. win7/8系统中php5.3和5.4、5.5不能加载php_curl.dll解决办法

    win7/8系统中php5.3和5.4.5.5不能加载php_curl.dll解决办法   作者:用户 来源:互联网 时间:2016-06-23 18:54:33 php变量注释系统模块 摘要: 本文 ...

  4. 「快学SpringBoot」配置文件的加载顺序和配置项默认值设置

    前言 有的时候,配置信息是我们无法在开发过程中就能确定的.比如,给客户开发的项目,客户需要根据自身的情况自定义配置,如数据库配置,加密密钥配置等等.这时候,就需要把配置文件放在外面,让用户自定义配置部 ...

  5. 关于ligerui 中 grid 表格的扩展搜索功能在远程数据加载时无法使用的解决办法

    要想使用grid里的扩展搜索功能,除了要引用ligerui主要的js文件外,还必须引入下面的JS文件: 1.Source\demos\filter\ligerGrid.showFilter.js 2. ...

  6. 在NVIDIA A100 GPU中使用DALI和新的硬件JPEG解码器快速加载数据

    在NVIDIA A100 GPU中使用DALI和新的硬件JPEG解码器快速加载数据 如今,最流行的拍照设备智能手机可以捕获高达4K UHD的图像(3840×2160图像),原始数据超过25 MB.即使 ...

  7. Spark代码中设置appName在client模式和cluster模式中不一样问题

    问题 Spark应用名在使用yarn-cluster模式提交时不生效,在使用yarn-client模式提交时生效,如图1所示,第一个应用是使用yarn-client模式提交的,正确显示我们代码里设置的 ...

  8. Winform中实现根据配置文件重新加载ZedGraph属性的实现思路

    场景 Winforn中设置ZedGraph曲线图的属性.坐标轴属性.刻度属性: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10 ...

  9. DevExpress 使用 XtraTabbedMdiManager 控件以 Tab样式加载 Mdi窗体并合并 RibbonControl 解决方案

    最近刚接触到 DevExpress 13.1 这个皮肤组件, 觉得相当好用 于是开始准备搭建 个小应用的主体框架. 找了好久的就是没找到对应的文章来讲解这一块.. 翻了他们主网站上人家问的,以及API ...

随机推荐

  1. 基于.NET Core开发的个人博客发布至CentOS小计

    早些时候,使用 .NET Framework 开发网站,只能部署在 Windows 服务器上面,近两年 .NET Core 如火如荼,乘此机会赶紧上车,最近将自己利用 .NET Core 开发的个人博 ...

  2. go 学习笔记之数组还是切片都没什么不一样

    上篇文章中详细介绍了 Go 的基础语言,指出了 Go 和其他主流的编程语言的差异性,比较侧重于语法细节,相信只要稍加记忆就能轻松从已有的编程语言切换到 Go 语言的编程习惯中,尽管这种切换可能并不是特 ...

  3. Yii2 基础模板前后台登录分离

    1.用GII 生成一个模块(modules)名字为 admin 2.在./config/web.php 中加入如下配置 'modules' => [ 'admin' => [ 'class ...

  4. 【转】Python实现智能五子棋

    前言 棋需要一步一步下,人生需要一步一步走.千里之行,始于足下,九层之台,起于累土. 用Python五子棋小游戏. 基本环境配置 版本:Python3 相关模块: 本文所做工作如下: (1) 五子棋界 ...

  5. Markdown表格宽度调整

    Markdown 表格默认宽度是根据内容来的,如果某一列内容很长的话会将其他列的宽度占用导致显示样式很丑.我们可以在表格前增加 CSS 样式来限制列的宽度: <style> table t ...

  6. lua_在C#中执行lua脚本

    方法一:使用DoString 代码为: Lua lua = new Lua();            lua.DoString("a=13");            lua.D ...

  7. Spring框架的重要问题

    这篇文章总结了一些关于Spring框架的重要问题,这些问题都是你在面试或笔试过程中可能会被问到的. 目录 Spring概述 依赖注入 Spring Beans Spring注解 Spring的对象访问 ...

  8. PHP识别简单的图片上面的数字(可扩展)

    1.场景 最近在学习图片处理,就是特意把数字生成一个图片,然后再用程序去识别图片的数字.这就有了一下的学习过程. 2.原理分析 2.1 首先是将图片像素化,二值化,然后和字模去对比(需要相对于配置字模 ...

  9. 从入门到入土的JS 随笔day01

    js 的全称是javascript ,JavaScript一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型. 它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用 ...

  10. 分层图 单调决策性DP

    easy 写法. #include<bits/stdc++.h> using namespace std; #define Fopen freopen("_in.txt" ...