使用Visual C#2005 实现具有权限控制的通用数据维护表单 谁能帮我说一下思路啊 小弟刚接触C# 实在是无从下手啊~!~!不胜感激啊~! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 c++中通过 模板方法模式 实现通用的权限控制,此C++只是示例,非完整可运行的代码。可按此思路public class CRightBase{ protected Bool bAdd,bEdit,bDel,bPrint,bFind; public CRightBase(string UserID,string FunName) { //构造函数中,从数据库中读取当前用户相应功能的权限数据 //rs.open("select Add,Edit,Del,Print,Find from tb_Right where //UserID='" & UserID & "AND Function ='" & FunName &"'",Connection) //bAdd=rs.Fields("Add") //bEdit=rs.Fields("Edit") //bDel=rs.Fields("Del") //bPrint=rs.Fields("Print") //bFind=rs.Fields("Find") } Protected void Add() { if (bAdd) DoAdd(); else AfxMessageBox("你没有" & FunName & "的增加权限"); } virtual void DoAdd() //可被子类重载 { } Protected void Edit() { if(bEdit) DoAdd(); else AfxMessageBox("你没有" & FunName & "的编辑权限"); } Virtual void DoEdit()//可被子类重载 { }}//多个功能窗口或对话框继承此类,重载虚函数public class MyForm:public CRithgBas: public CDialog{ public void MyForm () { InitButton();//初始货按纽过程 } protected void InitButton() { //以基类的权限变量初始化按纽 btnAdd.WinddowEnable(bAdd); //..... } public void Override DoAdd() { //进行实际新增操作,增加用户自己的代码。 } Public void Override DoEdit() { //进行实际的编辑操作 } btnAdd_Click()//增加菜单或按纽事件过程 { Add();//调用基类的ADD方法。进面调用DoAdd(). } btnEdit_Click()//增加事件过程 { Edit();//调用基类方法,进面调用DoEdit(). }} 求C#练手题目!!!!! 遇到一个数据库的问题 求助 ~~~~DataGridView 做更新的问题 ~~~~~~~在线等侍!!! C#版本 c/s 在线计算机文化基础考试系统 access修改问题 关于继承控件的问题,忒郁闷了. 资源文件的问题。 C# 屏幕监控问题 关于线程同步的问题,附上完整代码,望大家帮忙解决!~~ wpf开发c/s模式的新浪微博工具,实现某条微博的评论、转发和分享? 莪使用Process类调用命令行程序并获取输出、但有时候程序会因此假死 winform 程序,重新编译后 exe文件不更新?
{
protected Bool bAdd,bEdit,bDel,bPrint,bFind; public CRightBase(string UserID,string FunName)
{
//构造函数中,从数据库中读取当前用户相应功能的权限数据
//rs.open("select Add,Edit,Del,Print,Find from tb_Right where //UserID='" & UserID & "AND Function ='" & FunName &"'",Connection)
//bAdd=rs.Fields("Add")
//bEdit=rs.Fields("Edit")
//bDel=rs.Fields("Del")
//bPrint=rs.Fields("Print")
//bFind=rs.Fields("Find") }
Protected void Add()
{
if (bAdd)
DoAdd();
else
AfxMessageBox("你没有" & FunName & "的增加权限"); }
virtual void DoAdd() //可被子类重载
{
} Protected void Edit()
{
if(bEdit)
DoAdd();
else
AfxMessageBox("你没有" & FunName & "的编辑权限"); }
Virtual void DoEdit()//可被子类重载
{
}}//多个功能窗口或对话框继承此类,重载虚函数public class MyForm:public CRithgBas: public CDialog
{
public void MyForm ()
{
InitButton();//初始货按纽过程
}
protected void InitButton()
{
//以基类的权限变量初始化按纽
btnAdd.WinddowEnable(bAdd);
//..... }
public void Override DoAdd()
{
//进行实际新增操作,增加用户自己的代码。
} Public void Override DoEdit()
{
//进行实际的编辑操作 }
btnAdd_Click()//增加菜单或按纽事件过程
{
Add();//调用基类的ADD方法。进面调用DoAdd(). }
btnEdit_Click()//增加事件过程
{ Edit();//调用基类方法,进面调用DoEdit(). }
}