欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Winform中设置DevExpress的RadioGroup的items从配置文件中加载

程序员文章站 2022-08-08 17:10:17
场景 DevExpress的RadioGroup的items选项如果是不确定的话,需要其从配置文件中加载。 实现 在项目目录下新建Config文件夹,文件夹下新建xml配置文件。 并且设置在其较新时复制到输出目录: 然后在显示RadioGroup的窗体的加载事件中。 读取配置文件中的item选项。 ......

场景

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>

 

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

Winform中设置DevExpress的RadioGroup的items从配置文件中加载

 

 

Winform中设置DevExpress的RadioGroup的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 + 1);
            //设置位置
            radiogroupx.location = new point(global.nogroup_horizontal_distance , global.group_vertical_distance);
            //name
            radiogroupx.name = "radiogroupx";
            //设置父级容器
            radiogroupx.parent = panelcontrolx;