不可能吧,那些没有实例化的对象你怎么处理啊
在form load的时候处理不好吗?

解决方案 »

  1.   

    同意lbx1979
    除非为每种权限做一个窗体,MDI窗load的时候决定调用哪个窗体
    不过也太麻烦了吧?呵呵
      

  2.   

    1。你说的方法效率不是很高。因为你必须在登陆的时候New所有你要控制的窗体。
    然后设置要控制的空间的modifer为public。(此方法绝对可行,适合窗体数量很少的情况,)如果窗体过多,那么这样会延长登陆的时间,耗费好多资源。
    不如在具体某个窗体里面控制。
    2。如果才用后者控制。那么就很简单了。定义一些窗体上要控制的对象的变量,或者数组。
    然后在窗体构造函数后面添加你自己的权限控制构造函数。在那个函数里面处理从登陆窗体中得到的权限字符串。这样大体思路就是如此。
      

  3.   

    三个表用户表用户名 varchar 10 //用户的本名
    登录名 varchar 10 //登录本系统所用的名字
    口令 varchar 10 //登录本系统所用的密码
    角色ID int 4 //判别用户所属的用户组角色字典表角色名 varchar 50 //用户组的名称
    角色ID int 4 //ID号角色字典表控件名 varchar 50 //控件名称必须是唯一的(或为窗口名+控件名)
    拥有角色 int 4 //如果此控件有多个用户组可用,就把他们的值相加,
    但若都可用就为1
    /// <summary>
    /// 控件权限控制函数
    /// 不同的数字代表不同的用户组。1表示ADMIN,所有权限都有。
    /// 如果此控件有多个用户组可用,就把他们的值相加,但若都可用就为1
    /// 2:  30 6 10 18 14 22 26
    /// 4:  30  6 12 20 14 18 22
    /// 8:  30 10 12 24 14 28 26
    /// 16: 30 18 20 24 22 28 26
    /// </summary>
    /// <param name="ocxname"></param>
    // <returns> ocxname为控件名称,注:控件名称必须是唯一的(或为窗口名+控件名)</returns>不知对你有没有用?
      

  4.   

    同意 chang110cn(口号),我们现在的软件就是这么做的,很棒。而且容易管理