权限管理、用户权限系统、开源用户权限系统、信息化建设标准基础数据管理平台
代码改变世界

C#.NET中的 sender Tag 功能在支持多语言的通用权限管理系统组件中的实际应用范例

  通用C#系统架构  阅读(2794)  评论(14编辑  收藏  举报

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

 

程序的运行效果如下:

多语言包的效果如下:

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

 

 

 

 

编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
历史上的今天:
2009-12-15 遍历DataTable内存数据的三种方法性能对比 dataTable.Select 用过不?


C# ASP.NET 通用权限设计、通用权限管理、通用权限组件、单点登录、集中式权限管理、统一授权体系、分级管理分级授权


微信扫一扫加好友



点击右上角即可分享
微信分享提示