winform 程序通过本地化,资源文件的方式切换中英文,但是类似消息框和Combox这种怎么切换不了啊?求 赐教
我之前是把這部分寫入數據庫裏 , 在數據庫裏有一個表維護, 根據不同的語言設置取不同的列值, 英語取EN 的, 漢語取CN的。 然後放hastable 裏,測試效率是 0.5秒全部取出 200000條
程序本地化 是系統設置的, 你的消息列表和Combox 是自己控制的字符,你自己調用的, 系統判斷不liao 吧。
哪有自己判断呢 有思路吗
if (control is MenuStrip)
{
//将资源应用与对应的属性
resources.ApplyResources(control, control.Name);
MenuStrip ms = (MenuStrip)control;
if (ms.Items.Count > 0)
{
foreach (ToolStripMenuItem c in ms.Items)
{
//调用 遍历菜单 设置语言
AppLang(c, resources);
}
}
}
private static void AppLang(ToolStripMenuItem item, System.ComponentModel.ComponentResourceManager resources)
{
if (item is ToolStripMenuItem)
{
resources.ApplyResources(item, item.Name);
ToolStripMenuItem tsmi = (ToolStripMenuItem)item;
if (tsmi.DropDownItems.Count > 0)
{
foreach (ToolStripMenuItem c in tsmi.DropDownItems)
{
AppLang(c, resources);
}
}
}
}
MenuStrip 可以用这种遍历的方式更换,但是combox 不知道应该怎么遍历。。。