Winform中设置DevExpress的RadioGroup的items从配置文件中加载
<h1>场景</h1><p>DevExpress的RadioGroup的items选项假如是不确定的话,必要其从设置文件中加载。</p>
<h1>实现</h1>
<p>在项目目次下新建Config文件夹,文件夹下新建xml设置文件。</p>
<?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>
<p> </p>
<p>而且设置在其较新时复制到输出目次:</p>
<p><div align="center"></div></p>
<p> </p>
<p> </p>
<p><div align="center"><img/></div></p>
<p>然后在表现RadioGroup的窗体的加载变乱中。</p>
List<string> XradioGrupItems = initRadioGroupItem(Global.RADIO_GROUP_ITEM_FILEPATH_X);c
<p>读取设置文件中的item选项。</p>
public List<string> initRadioGroupItem(string xmlFilePath)
{
List<string> radioGrupItems =ChartOptionHelper.getRadioGroupItems(xmlFilePath);
return radioGrupItems;
}
<p> </p>
<p>这里调用了工具类去访问设置文件的item并存到一个list中。</p>
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;
}
<p> </p>
<p>此中业务工具类又调用了公共的读取设置文件的工具类。</p>
<p>工具类方法参照:</p>
<p>C#中读写Xml设置文件常用方法工具类:</p>
<p>https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/100879220</p>
<p>上面全局变量的Xpath的表达式的参数为全局变量:</p>
public const string RADIO_GROUP_ITEM_XPATH = "items/item";
<p> </p>
<p>天生RadioGroup并给其赋值</p>
<p> </p>
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;
<p> </p><br><br/><br/><br/><br/><br/>来源:<a href="https://www.cnblogs.com/badaoliumangqizhi/archive/2019/09/16/11526410.html" target="_blank">https://www.cnblogs.com/badaoliumangqizhi/archive/2019/09/16/11526410.html</a>
页:
[1]