问个问题

huxuanhui 2009-06-12 11:55:07
长话短说哈

一个系统 有一个登录界面

这个系统登录的人员有不同的角色

我想根据不同的登录人员去启动不同的操作界面

这个怎么实现?

注:人员登录以后才能根据 登录的角色去启动界面
...全文
37 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
huxuanhui 2009-06-13
  • 打赏
  • 举报
回复
可以了
thanks
huxuanhui 2009-06-13
  • 打赏
  • 举报
回复
wjq

你的方法不行

怎么从 logindlg退回到主线程 让主线程继续执行呢?
yetze 2009-06-13
  • 打赏
  • 举报
回复
我们自己写了个框架,专门用于读写数据库,不同角色不同功能,我们自己在一个文件MENU.XML文件中实现的。
huxuanhui 2009-06-13
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 wjq 的回复:]
引用 5 楼 huxuanhui 的回复:
引用 2 楼 wjq 的回复:
if(role1)
(new Form1).Show();
else if(role2)
(new Form2).Show();
...
else
...


老大
你有没有自己做过?

说的很简单啊

关键是 主线程 要先接受 登陆界面 的返回
然后才能判断



你没说清楚你的具体难点。

在Program.cs里

假设frmLogin是登录窗口,它会把role写到Program里的一个静态变量role里。
那么:

Applicati…
[/Quote]

额 我试试
wjq 2009-06-13
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 huxuanhui 的回复:]
引用 2 楼 wjq 的回复:
if(role1)
(new Form1).Show();
else if(role2)
(new Form2).Show();
...
else
...



老大
你有没有自己做过?

说的很简单啊

关键是 主线程 要先接受 登陆界面 的返回
然后才能判断
[/Quote]

你没说清楚你的具体难点。

在Program.cs里

假设frmLogin是登录窗口,它会把role写到Program里的一个静态变量role里。
那么:

Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
(new frmLogin()).ShowDialog()

Form fs=null;
if(role=="role1")
fs=new Form1();
else if(role=="role2")
fs=new Form2();
...
else
...


if(fs!=null)
Application.Run(fs);

就这么简单。你也可以主窗口踢动MDI窗口,类似代码放到MDI里做。
chenxiaoping_2009 2009-06-13
  • 打赏
  • 举报
回复
顶一个
huxuanhui 2009-06-13
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 wjq 的回复:]
if(role1)
(new Form1).Show();
else if(role2)
(new Form2).Show();
...
else
...
[/Quote]

老大
你有没有自己做过?

说的很简单啊

关键是 主线程 要先接受 登陆界面 的返回
然后才能判断
huxuanhui 2009-06-13
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 v68v6 的回复:]
1:获取用户登录时的信息。
2:判断用户是否管理员
3:是管理员就response.redirct("管理员将去的页面");
4:是普通用户就response.redirct("普通用户将去的页面"),不同的用户先建好不同的页面。
[/Quote]

winform编程 啊
晕倒
V68V6 2009-06-13
  • 打赏
  • 举报
回复
1:获取用户登录时的信息。
2:判断用户是否管理员
3:是管理员就response.redirct("管理员将去的页面");
4:是普通用户就response.redirct("普通用户将去的页面"),不同的用户先建好不同的页面。
wjq 2009-06-13
  • 打赏
  • 举报
回复
if(role1)
(new Form1).Show();
else if(role2)
(new Form2).Show();
...
else
...
灯火斑斓 2009-06-13
  • 打赏
  • 举报
回复
我自己的作法是:由不同的TabPage组织不同的角色所使用的功能GUI,登录时由角色的ID来决定应该显示哪个Page界面而把其它的都隐藏起来。
V68V6 2009-06-13
  • 打赏
  • 举报
回复
LZ结贴真即时
wjq 2009-06-13
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 huxuanhui 的回复:]
wjq

你的方法不行

怎么从 logindlg退回到主线程 让主线程继续执行呢?
[/Quote]....登录窗口里调自己的Close()方法就行了……
太阳丛 2009-06-13
  • 打赏
  • 举报
回复
我认为应该给用户分类,比如:管理员 与 普通用户
当输入帐号密码进行验证,如果该帐 号属于管理员 则打开窗体1
如果该帐号属于普通用户 则打开窗体2

我想这个才是楼主想要的思路吧

如果所有用户登陆后用同一个窗体,那就需要传递一个值
如管理员 传 a 普通用户 传 b
此时在将要打开的窗体中写个方法。用于接收传递过来的值
如果是A 启用某个模块 如果是B 则禁用某个模块
maddemon 2009-06-13
  • 打赏
  • 举报
回复
菜单方面我用的是xml配置文件,大概是这样子
<Group>
<Menu>
<Name></Name>
<UserLevel></UserLevel>
<Src>
</Menu>
</Group>
然后根据用户的Level来筛选Menu 这样可以方便修改。 当然这比较符合做小的系统

110,561

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧