C winform介面的語言切換

2022-10-09 20:57:11 字數 2382 閱讀 5708

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...