CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

急急急帮小弟解决很简单问题,送分

楼主c_sharp_net()2006-12-03 08:15:20 在 .NET技术 / C# 提问

我做了一个Winform  
  Form1是我的用户登陆已经没有问题~  
  Form2是我的主   页面,但是我想通过用户登陆的权限不同进入。分为普通用户和会员  
  如果是会员进入Form2可以应用所有的功能。  
  如果是普能用户有的功能将不可用。  
   
  我   现在出现的问题是不能在通过判断权限来让哪个控件可用哪个控件不可用。  
  请大家帮着解决一下好吗?  
  详细点最好。谢谢 问题点数:100、回复次数:15Top

1 楼fengqinggao(风清高)回复于 2006-12-03 08:40:29 得分 0

设置一个bool变量,会员设1,普通用户设0  
   
  然后在Form2的On_Load函数里,根据0、1设置那些会员才有的控件的状态,如textBox1.Enable=false,大体这个思路能解决问题了Top

2 楼c_sharp_net()回复于 2006-12-03 09:12:17 得分 0

但是在判断的时候不对啊。能说的详细些吗?  
  我是新手  
  非常感谢  
  Top

3 楼lxcnn(过客)回复于 2006-12-03 09:43:52 得分 0

在创建用户的同时为每一个用户分配一个bool型的变量,比如说bool   vip,标识是否为会员,是会员值为true,不是则为false,当用户通过Form1验证后,取出该用户的vip变量,在Form2_Load里判断  
                  private   void   Form2_Load(object   sender,   EventArgs   e)  
                  {  
                          if(vip)  
                          {  
                                  button1.enable   =   true;    
                          }  
                          else  
                          {  
                                  button1.enable   =   false;  
                          }  
                  }  
  Top

4 楼liujia_0421(SnowLover)回复于 2006-12-03 11:40:37 得分 0

你的权限是通过什么管理的,数据库?还是就是简单的设置?  
   
  如果做得简单点,可以通过楼上说的设置标志,在Form_load时来设定...  
   
  Top

5 楼bbdog(贝贝狗)回复于 2006-12-03 13:08:31 得分 0

看看knight94的blog,里面有提到解决方案。Top

6 楼bjgzxx(食人一族)回复于 2006-12-03 13:31:39 得分 0

楼上说的差不多了应该就这么解决的Top

7 楼free_wang()回复于 2006-12-03 13:37:48 得分 0

顶Top

8 楼huohonglong()回复于 2006-12-03 13:54:18 得分 0

private   void   Form2_Load(object   sender,   EventArgs   e)  
                  {  
                          if(vip)  
                          {  
                                  button1.enable   =   true;    
                          }  
                          else  
                          {  
                                  button1.enable   =   false;  
                          }  
                  }  
  这个写的不错,你可以试试。好好研究一下Top

9 楼litaoye()回复于 2006-12-03 19:16:42 得分 0

我估计困扰楼主的应当是form之间传递参数的问题,具体实现大家已经讲得差不多了,楼主照着办就好了。关键是在form2中定义一个public   static变量,比如:  
   
  public   static   int   userLevel;  
   
  在form1判断完用户级别之后,改变form2的这个变量  
   
  form2.userLevel   =   1;  
   
  然后在Load   form2的时候判断即可!Top

10 楼dyhjjk(西门吹雪)回复于 2006-12-03 20:23:25 得分 0

楼上说的都很详细了。我也说点我的想法。设计数据库的时候在用户字段里面加个标志字段。在用户登录的时候一定会查询用户表的此时标志字段可一并查出。然后判断下   是哪种用户。然后执行不同的代码。Top

11 楼llqqff(玩猫来玩玩)回复于 2006-12-03 22:05:07 得分 0

能否建一权限数据库,把USER和form编码进取。Top

12 楼doocoo(DooCoo)回复于 2006-12-03 22:30:20 得分 0

做一个方法  
  public   CheckPermission(int   user_id,string   ControlName)  
  {  
        //取得用户等级  
        //取得Control所需等级  
        //判断用户等级是否符合control的要求  
        if(Valid)  
            return   true;  
        else  
            return   false;  
  }  
  程序中:  
  form1.Load(....)  
  {  
      ...  
      foreach(Control   ctr   in   this.Controls){  
          control.Enabled=CheckPermission(userid,ctr.Name)  
      ...  
  }  
   
  而在数据库中,保存每个control的名称和它们所需的权限  
   
  这种方式可以对每个control的权限进行限定,但是如果你有大量的控件,又不是每个控件都要做限定,效率就不高了,直接Button1.Enabled=CheckPermission(userid,Button1.Name)这样就可以了Top

13 楼doocoo(DooCoo)回复于 2006-12-03 22:36:10 得分 0

传递ID的问题,可以将Form1做成一个dialog,启动项设为Form2,Form2在Load的时候new并show()一个Form1,给Form1加一个属性public   UserID{get{return   userid;}},Form1成功确认身份以后,在Form2里面加一个int   userID,然后  
  if(Form1.DialogResult==DialogResult.OK)  
          this.userID=Form1.Form1.UserID;  
  else  
  ...  
  Form1.dispose();Top

14 楼SmallMummy(爬山真累人~!)回复于 2006-12-03 22:49:28 得分 0

都说完了。。。。。。  
  顶下Top

15 楼superxiaomm(小美)回复于 2006-12-04 14:10:30 得分 0

建议封装个user类Top

相关问题

关键词

得分解答快速导航

  • 帖主:c_sharp_net

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo