CS 系统框架二[部分内容更新]

http://www.cnblogs.com/allen0118/archive/2012/05/10/2494112.html

这边文章里面只是将大致的轮廓组织了一下,现在慢慢来将其完善,

本次更新了2点内容,第一就是将权限细化到每一个按钮,因为当时设计的时候每一个窗体上面的菜单都是统一的,所以比较容易控制,

开发文档

CS 系统框架二[部分内容更新]

以下代码比较重要,记录了一些全局的东西:

 1 public sealed class AllenSingleton
 2     {         
 3         private static volatile AllenSingleton instance;
 4         private static object syncRoot = new Object();
 5 
 6         private AllenSingleton() { }
 7         public static AllenSingleton Instance
 8         {
 9             get
10             {
11                 if (instance == null)
12                 {
13                     lock (syncRoot)
14                     {
15                         if (instance == null)
16                             instance = new AllenSingleton();
17                     }
18                 }
19                 return instance;
20             }
21         }
22 
23         public string strCon = Allen.Model.ConnectionModel.ConnectionString1;
24         public string UserID;
25         public string Password;
26         public string UserDep;
27         public string ServerID;
28         public string Lang;                
29         public FrmMain m_FrmMain;
30         public string Company;
31         public string AppConfigFile;
32         public Dictionary<string, string> DicLang;       
33         public string Role;
34         public string RoleName; 
35         public string WorkBeginTime;        
36         public string currentlyVersion = "V1.0.0.1";
37        
38         public string AllowCreate;
39         public string AllowDelete;
40         public string AllowEdit;
41         public string AllowPrint;
42        
43 
44         public static class GlobalData
45         {
46             public static Dictionary<string, Action> dict = new Dictionary<string, Action>();
47         }
48 
49 
50     }

后台数据库中会记录着每一个用户ID对应的操作命令,比如增加,删除,修改和查询以及打印等等,在用户登录的时候取到这几个操作命令的“值”。

如下图所示:

CS 系统框架二[部分内容更新]

 

第二点就是增加了用户的详细信息,之前已经将数据表设计好了,只是刚开始的时候没有用到,现在将它派上用场了,其实就是多了几张表,关系数据库这样。

CS 系统框架二[部分内容更新]

 

图片拖拽主要是用到了控件的DragDrop和DragOver事件,值得注意的是控件的AllowDrop属性一定要设置为True才可,
当时忘记设置这个属性,导致一直不成功,后来突然发现这个属性是的作用,才明白是怎么回事。

 1  private void UserPhoto_DragDrop(object sender, DragEventArgs e)
 2         {
 3             if (e.Data.GetDataPresent(DataFormats.FileDrop))
 4             {
 5                 string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);
 6                 for (int i = 0; i <= file.Length - 1; i++)
 7                 {
 8                     if (System.IO.File.Exists(files[i]))
 9                     { 
10                         UserPhoto.ImageLocation = files[i];                         
11                         
12                     }
13                 }
14             } 
15         }
16 
17         private void UserPhoto_DragOver(object sender, DragEventArgs e)
18         {
19             if (e.Data.GetDataPresent(DataFormats.FileDrop))
20             {
21                 e.Effect = DragDropEffects.Move;
22             } 
23         }

 

不断更新中...

 

上一篇:阿里云服务器公网IP怎么绑定域名?


下一篇:阿里云添加二级域名以及配置Ngnix解析域名(图文教程)