未必人人是高手,希望以下代码参考,能对初学者有所帮助借鉴。
程序的运行效果如下:
多语言包的效果如下:
当前选择了什么语言,保存在这个XML文件里
这里是Tag的用法参考
3个单选框按钮,用了同一个触发事件
这里是 sender Tag 的实际代码参考,里面还用了强类型转换。
代码可以复制这里的
///
<summary>
/// 设置默认语言被选中状态
/// </summary>
private void SetCurrentLanguage()
{
this .rbzhCN.Checked = this .rbzhCN.Tag.ToString().Equals(BaseSystemInfo.CurrentLanguage);
this .rbzhTW.Checked = this .rbzhTW.Tag.ToString().Equals(BaseSystemInfo.CurrentLanguage);
this .rbenUS.Checked = this .rbenUS.Tag.ToString().Equals(BaseSystemInfo.CurrentLanguage);
}
private void rbCurrentLanguage_CheckedChanged( object sender, EventArgs e)
{
// 要确认是用户点击发生的实践,不是默认加载时发生的事件
if ( this .FormLoaded)
{
// 设置当前语言选项
BaseSystemInfo.CurrentLanguage = ((RadioButton)sender).Tag.ToString();
this .Localization( this );
// 保存用户的信息
ConfigHelper.SaveConfig();
}
}
/// 设置默认语言被选中状态
/// </summary>
private void SetCurrentLanguage()
{
this .rbzhCN.Checked = this .rbzhCN.Tag.ToString().Equals(BaseSystemInfo.CurrentLanguage);
this .rbzhTW.Checked = this .rbzhTW.Tag.ToString().Equals(BaseSystemInfo.CurrentLanguage);
this .rbenUS.Checked = this .rbenUS.Tag.ToString().Equals(BaseSystemInfo.CurrentLanguage);
}
private void rbCurrentLanguage_CheckedChanged( object sender, EventArgs e)
{
// 要确认是用户点击发生的实践,不是默认加载时发生的事件
if ( this .FormLoaded)
{
// 设置当前语言选项
BaseSystemInfo.CurrentLanguage = ((RadioButton)sender).Tag.ToString();
this .Localization( this );
// 保存用户的信息
ConfigHelper.SaveConfig();
}
}
本文转自jirigala_bao 51CTO博客,原文链接:http://blog.51cto.com/jirigala/809338