反射-利用泛型把枚举绑定到listControl

 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Reflection; namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { EnumManager<LeftMenu>.SetListControl(comboBox1); EnumManager<Permission>.SetListControl(listBox1); } public enum LeftMenu { 基础数据管理 = 100, 日程管理 = 101, 听众管理 = 102, 黑名单管理 = 103, 公告管理 =104, 系统公告=105, 消息管理=106, 我的消息=107, 今日日程=108, 短信管理=110, 来电业务管理 = 200, 来电操作 = 201, 信息管理 = 202, 工作流程管理 = 300, 信息审核 = 301, 信息播出 = 302, 我的工作=303, 系统设置管理 = 400, 账号管理 = 401, 角色管理 = 402, 权限管理 = 403, 菜单管理 = 404, 个人信息管理 = 405, 登录日志管理 = 407, 错误日志管理 = 408, 菜单功能配置=409, 数据字典管理 = 500, 路况相关设置 = 501, 新闻相关设置 = 502, 咨询相关设置 = 503, 审核不通过原因 = 504, 加入黑名单原因 = 505, 解除黑名单原因 = 506, 审核相关设置 = 507, 关键字管理 = 508, 前缀设置 = 509, 知识库=600, 知识库查询=601, 知识库管理=602 } public enum Permission { 添加 = 10001, 修改=10002, 删除=10003, 列表查看=10004, 详细查看=10005, 审核=10006, 播出=10007, 加入黑名单=10008, 解除黑名单=10009, 修改资料=10010, 修改密码=10011, 信息处理历史查看=10012, 启用禁用账号=10013, 发布=10014, 预览=10015, 附件上传=10016, 附件下载=10017, 回复 = 10018, 密码重置=10019, 发送短信=10020 } } public static class EnumManager<TEnum> { private static DataTable GetDataTable() { Type enumType=typeof(TEnum); FieldInfo[] enumField=enumType.GetFields(); DataTable dt=new DataTable(); dt.Columns.Add("Name",Type.GetType("System.String")); dt.Columns.Add("Value",Type.GetType("System.Int32")); foreach(FieldInfo field in enumField) { if(!field.IsSpecialName) { DataRow row=dt.NewRow(); row["Name"]=field.Name; row["Value"]=Convert.ToInt32( field.GetRawConstantValue()); //row["Value"]=(int)Enum.Parse(enumType,field.Name); dt.Rows.Add(row); } } return dt; } public static void SetListControl(ListControl list) { list.DataSource=GetDataTable(); list.DisplayMember="Name"; list.ValueMember="Value"; } } }

转载于:https://www.cnblogs.com/xiacy/archive/2011/10/09/2485704.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值