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 }
不断更新中...
作者:Allen Chen无影
邮箱:allen0717@163.com 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?