CS 系統框架二[部分內容更新]


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

這邊文章里面只是將大致的輪廓組織了一下,現在慢慢來將其完善,

本次更新了2點內容,第一就是將權限細化到每一個按鈕,因為當時設計的時候每一個窗體上面的菜單都是統一的,所以比較容易控制,

開發文檔

以下代碼比較重要,記錄了一些全局的東西:

 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對應的操作命令,比如增加,刪除,修改和查詢以及打印等等,在用戶登錄的時候取到這幾個操作命令的“值”。

如下圖所示:

 

第二點就是增加了用戶的詳細信息,之前已經將數據表設計好了,只是剛開始的時候沒有用到,現在將它派上用場了,其實就是多了幾張表,關系數據庫這樣。

 

圖片拖拽主要是用到了控件的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         }

 

不斷更新中...

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM