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 }
不斷更新中...