if (!file.exists(xmlpath)) //不存在xml檔案,建立檔案並寫入根節點
}xmldocument xmldoc = new xmldocument();
xmldoc.load(xmlpath);
xmlnode xmlnode = xmldoc.getelementbyid(_form.name);
if (xmlnode == null) //不存在該名稱的窗體節點就寫入預設的值
setcontroltext(xmldoc, _form);
}void addnode(xmldocument xmldoc, xmlnode xmlnode, control ctr)
}void setattribute(xmlelement xmlelement, string name, string text)
}void setcomponent(xmldocument xmldoc, xmlnode xmlnode, control ctr)}}
}}}string getvalue(object val, type type, string tag)
}return null;
}void setcontroltext(xmldocument xmldoc, form form)
}void setctrtext(xmlnode xmlnode, control ctr)
dictionarydictcomponent = getcomponent(ctr);
foreach (xmlnode node in xmlnode.childnodes)
else
break;}}
}}}}
}dictionarygetcomponent(control ctr)}}
}}return dictt;}}
}由於不是所有控制項都繼承control類,所以在遍歷窗體中的控制項時不能載入這些控制項。例如:datagridviewtextboxcolumn,toolstripmenuitem
所以需要自己指定是哪些控制項,也不是所有控制項顯示的文字都是text,所以也需自己指定nametag和texttag。
public partial class form1 : form
xmllang _xmllang;
private void form1_load(object sender, eventargs e)
,new componentcontrol() ,
});_xmllang.load(language.zh_cn);
}private void 簡體中文toolstripmenuitem_click(object sender, eventargs e)
private void englishtoolstripmenuitem_click(object sender, eventargs e)
}
中文xml:
<?xml version="1.0" encoding="utf-8"?>
]>
英文xml:
<?xml version="1.0" encoding="utf-8"?>
]>
C winform介面的語言切換
if file.exists xmlpath 不存在xml檔案,建立檔案並寫入根節點 xmldocument xmldoc new xmldocument xmldoc.load xmlpath xmlnode xmlnode xmldoc.getelementbyid form.name if x...
切換介面的方案(新老介面切換utils)
一 不重要可忽略的介面,一刀切 二 重要的查詢介面,發第一版 新老介面查詢結果對比校驗 充分時間觀察後 日誌檢視技術引數 發第二版 新介面取代老介面 public boolean i target string logidentify,boolean openswitch,listwhitelist...
wxpython實現按鈕切換介面的方法
coding utf 8 import wx class testframe wx.frame def init self wx.frame.init self,none,1,u 登陸 size 370,280 style wx.minimize box wx.system menu wx.capt...