博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#.NET中的 sender Tag 功能在支持多语言的通用权限管理系统组件中的实际应用范例...
阅读量:6713 次
发布时间:2019-06-25

本文共 834 字,大约阅读时间需要 2 分钟。

  hot3.png

未必人人是高手,希望以下代码参考,能对初学者有所帮助借鉴。

 

程序的运行效果如下:

多语言包的效果如下:

当前选择了什么语言,保存在这个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();
            }
        }

 

 

 

 

转载于:https://my.oschina.net/iwenr/blog/227738

你可能感兴趣的文章
随笔-文件的读写
查看>>
tcp 状态以及三次握手
查看>>
我的友情链接
查看>>
WAITED TOO LONG FOR A ROW CACHE ENQUEUE LOCK!的分析
查看>>
nginx禁止ip直接访问
查看>>
hadoop常用服务管理命令
查看>>
10.28 rsync工具10.29-10.30 rsync选项10.31 rsync通过ssh同步
查看>>
Fault,Error and Failure
查看>>
Go语言的通道(1)-无缓冲通道
查看>>
spring oauth从请求中获取token
查看>>
6.18docker(一)Compose 模板文件
查看>>
每天学点GDB 9
查看>>
为什么要用 /dev/null 2>&1 这样的写法
查看>>
AngularJs创建省,市,区的3级列表
查看>>
wp7 独立存储
查看>>
项目UML设计(团队)
查看>>
Divideing Jewels
查看>>
洛谷P4169 天使玩偶 (算竞进阶习题)
查看>>
11周
查看>>
Order By操作
查看>>