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