一、在表单上放置一个工具栏控件ID为tool,一个图象列表控件,ID为p_w_picpath,为图象列表控件添加几个图片
二、将工具栏控件的ImageList属性设置为图象列表控件的ID值,打开工具栏控件的Buttons集合,为工具栏添加几个按钮.
三、从数据库中提取系统功能清单并动态将功能ID与工具栏按纽绑定
con=new SqlConnection(@ConfigurationSettings.AppSettings["server"]);
con.Open();
da=new SqlDataAdapter("select mkmc,enabled,akey from userqxb where
                                       userid='"+tool.Tag.ToString()+"' and bkey='0_'",con);
ds=new DataSet();
da.Fill (ds,“userqxb”);//将装有功能的表取入内存数据集中
con.Close ();
for(int i=0;i<ds.Tables ["userqxb"].Rows .Count;i++ )
{
    for(int j=0;j<tool.Buttons.Count;j++)
    {
       if(tool.Buttons[j].Text==ds.Tables ["userqxb"].Rows [i][0].ToString ())
 {
            tool.Buttons[j].Visible=Convert.ToBoolean(ds.Tables
                                                         ["userqxb"].Rows [i][1].ToString ());
     tool.Buttons[j].Tag=ds.Tables ["userqxb"].Rows [i][2].ToString ();
     break;
 }
     }
}
http://chenxing.blog.51cto.com
系统所需要用到的数据原表结构如下
Verify(用户信息及密码验证表)序号 主键 字段名 中文对照 数据类型 长度 小数 默认值 允许空1 ID 用户ID varchar 10     Not Null2   password 密码 varchar 72     Not Null3   level 等级 varchar 10     Not Null4   name 姓名 varchar 10     Not Null5   station 岗位 varchar 30     Not Null6   dept 部门 varchar 10     Not NullSystem_Function(系统功能表)序号 主键 字段名 中文对照 数据类型 长度 小数 默认值 允许空1   akey 主功能键 varchar 10     Not Null2   bkey 次功能键 varchar 10     Not Null3 mkmc 模块名称 varchar 20     Not Null4   id 用户ID varchar 10     Null5   enabled 功能使用标记 bit     0 Null6   p_w_picpathurl 功能图标名 varchar 30     Not Null7   navigateurl 功能文件名 varchar 30     NullUser_Purview(用户权限表)序号 主键 字段名 中文对照 数据类型 长度 小数 默认值 允许空1   akey 主功能键 varchar 10     Not Null2   bkey 次功能键 varchar 10     Not Null3 mkmc 模块名称 varchar 20     Not Null4   id 用户ID varchar 10     Null5   enabled 功能使用标记 bit     0 Null6   p_w_picpathurl 功能图标名 varchar 30     Not Null7   navigateurl 功能文件名 varchar 30     NullDept(部门表)序号 主键 字段名 中文对照 数据类型 长度 小数 默认值 允许空1 id 部门ID varchar 10     Not Null2   dept 部门名称 varchar 10