1. 程式人生 > >漢化DotNetBar中控件的系統文本

漢化DotNetBar中控件的系統文本

cat style message visual 中控 1年 介紹 eve ssa

作者:ComponentCN 出處:www.componentcn.com 2011年11月02日 閱讀:

DotNetBar很多子控件的系統文本、提示信息等都是可以本地化的,可以轉化為多種語言,控件提供DotNetBarManager.LocalizeString事件來進行每個控件的系統文本漢化。如果是想進行全局漢化所有DotNetBar 控件,則可以使用 LocalizationKeys.LocalizeString 事件來進行漢化,如對MessageBoxEx控件進行漢化。

具體請看下面的代碼:

全局漢化:

[STAThread]
static void Main()
{
Application.EnableVisualStyles();

Application.SetCompatibleTextRenderingDefault(false);

DevComponents.DotNetBar.LocalizationKeys.LocalizeString += new DevComponents.DotNetBar.DotNetBarManager.LocalizeStringEventHandler(LocalizeString);

Application.Run(new Form1());
}

static void LocalizeString(object sender, DevComponents.DotNetBar.LocalizeEventArgs e)
{
if (e.Key == LocalizationKeys.MessageBoxYesButton)//漢化MessageBoxEx控件中的Yes按鈕
{
e.LocalizedValue = "是";
e.Handled = true;
}
}

當然LocalizationKeys類,裏面枚舉了很多控件的系統文本,都可以一一進行漢化,具體操作就跟上面一樣。
具體某個控件漢化,很多DotNetBar控件都提供了LocalizeString事件,可以在該事件裏對該控件的系統文本進行漢化:如navigationPane中系統文本"show more buttons"的漢化:

private void navigationPane1_LocalizeString(object sender, LocalizeEventArgs e)
{
if (e.Key == LocalizationKeys.NavBarShowMoreButtons)
{
e.LocalizedValue = "顯示更多按鈕";
e.Handled = true;
}
}


其他控件的漢化都跟上面的模式一樣,這裏就不一一介紹了。

漢化DotNetBar中控件的系統文本