Winform中設置DevExpress的RadioGroup的items從配置文件中加載


場景

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 + 1);
            //設置位置
            radioGroupX.Location = new Point(Global.NOGROUP_HORIZONTAL_DISTANCE , Global.GROUP_VERTICAL_DISTANCE);
            //name
            radioGroupX.Name = "radioGroupX";
            //設置父級容器
            radioGroupX.Parent = panelControlX;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM