CS 系统框架二[右下角提示信息以及用户自由申请帐号功能]

园子里面有位朋友对我这个小框架提出了一些建议,我觉得很适用(不管是圆友还是用户给我提出的意见,我都认真考虑了,该采纳的都采纳了,我相信这样一来我这个程序应该会更完整,在此感谢大家的指点),有两点建议我比较认同,第一点就是在用户没有登录ID的情况下可以自由申请帐号,然后等待管理员审核之后方可生效,这种功能还是比较人性化的,不是说你没有登录ID就完全没办法操作这个系统,至少可以申请一个登录ID,至于什么时候可以得到审核,那是另外一件事情了,我相信这样一来对用户的体验一定会好很多,所以我将这个功能完善了一下,很简单,我的数据库里面本身有一列字段--IsEnable,大致的意思就是表示该用户是不是属于启用状态,现在刚好派上用场了。登录界面增加“申请帐号”的链接,这个“申请帐号"的功能更管理员新建User的功能基本一样,唯一不同的是申请者无法改变用户的状态,默认都是不启用的,提交申请请求之后数据库里面增加相应的记录,但是在被审核通过之前无法登录,待管理员上线审核了用户提交的请求之后方可登录。

第二点就是在每次用户登录之后提示上一次的登录信息,比如上次的登录地点,登录IP,登录时间以及有消息的话可以提示出来,这一点其实最初就有这个功能的计划,后来发现WinForm更WebForm不一样,每次弹出提示框之后会有一点点的“迟钝”的感觉,不像WebForm里面那么流畅,后来找“度娘”要了一点关键代码,虽然效果比我之前好了一点点,但是感觉还是不够理想,提示框关闭的时候就好像我们的电脑死机了似的,那个提示框所在的屏幕那一块的背景就是一块白花花的。
关键代码就是这一段:

[DllImportAttribute("user32.dll")]
        private static extern bool AnimateWindow(IntPtr hwnd, int dwTime, int dwFlags);   // 该函数可以实现窗体的动画效果
        /// <summary>
        /// 自左向右显示窗口。该标志可以在滚动动画和滑动动画中使用。当使用AW_CENTER标志时,该标志将被忽略
        /// </summary>
        public const Int32 AW_HOR_POSITIVE = 0x00000001;
        /// <summary>
        ///  自右向左显示窗口。当使用了 AW_CENTER 标志时该标志被忽略
        /// </summary>
        public const Int32 AW_HOR_NEGATIVE = 0x00000002;
        /// <summary>
        /// 自顶向下显示窗口。该标志可以在滚动动画和滑动动画中使用。当使用AW_CENTER标志时,该标志将被忽略
        /// </summary>
        public const Int32 AW_VER_POSITIVE = 0x00000004;   //
        /// <summary>
        /// 自下向上显示窗口。该标志可以在滚动动画和滑动动画中使用。当使用AW_CENTER标志时,该标志将被忽略
        /// </summary>
        public const Int32 AW_VER_NEGATIVE = 0x00000008;   //
        /// <summary>
        /// 若使用了AW_HIDE标志,则使窗口向内重叠;若未使用AW_HIDE标志,则使窗口向外扩展
        /// </summary>
        public const Int32 AW_CENTER = 0x00000010;         //
        /// <summary>
        /// 隐藏窗口,缺省则显示窗口
        /// </summary>
        public const Int32 AW_HIDE = 0x00010000;           //
        /// <summary>
        /// 激活窗口。在使用了AW_HIDE标志后不要使用这个标志
        /// </summary>
        public const Int32 AW_ACTIVATE = 0x00020000;       //
        /// <summary>
        /// 使用滑动类型。缺省则为滚动动画类型。当使用AW_CENTER标志时,这个标志就被忽略
        /// </summary>
        public const Int32 AW_SLIDE = 0x00040000;          //
        /// <summary>
        /// 使用淡入效果。只有当hWnd为顶层窗口的时候才可以使用此标志
        /// </summary>
        public const Int32 AW_BLEND = 0x00080000;          // 

大致效果如下图所示:

这里记录了每一个操作的日志信息。

 

时间: 2024-10-10 03:32:26

CS 系统框架二[右下角提示信息以及用户自由申请帐号功能]的相关文章

CS系统框架二(数据库配置)

  在数据库配置方面暂时采用了将信息写入App.Config里面,大致分为Sql Server,Oracle,Access,MySql等,如果用户登录的时候系统发现连不上数据库那么就提示用户对数据库进行配置一下,但是总觉得将连接信息写入App.Config里面有点不安全,那个App.Config文件就在程序的安装目录里面,别人找到了还不是照样可以获取数据库密码么,不知道是否还有其他好点的办法,如果有朋友对这个问题比较有见解的话麻烦支个招,QQQ.    

CS 系统框架二[简单记录系统日志]

园子里面有几位朋友跟我说最好可以记录一些相关的日志,以便据此查找一些其它的信息或者是DeBug,我简单的处理了一下, 这里用到了一个枚举: 需要用的时候就传一个标志进来就行了,记录日志的函数就不说了,说白了就是记录一些数据,后台调用如下: 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 6 namespace Allen.Tools.Common 7 {

CS 系统框架二[增加默认启动以及代码打开窗体]

前几天有几个朋友要了我的框架源码,这几天也经常通过远程以及电话来帮他解决一些问题,后来他说马上要交项目了,但是有一个问题还没有搞出来,那就是在原有的框架里面如何设置一个窗体自动启动?本身我的框架是登录进去之后所有的菜单都是根据后台的权限进行分配,加载进来之后绑定在工具箱里面,当用户点击菜单之后才会加载窗体,看他现在的意思是想登录进去之后默认启动一个窗体,这个简单,因为加载窗体的动作是写的一个方法来调用的,那么只需要在Load里面调用一下就行了, 1 private void FrmMain_Lo

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

http://www.cnblogs.com/allen0118/archive/2012/05/10/2494112.html 这边文章里面只是将大致的轮廓组织了一下,现在慢慢来将其完善, 本次更新了2点内容,第一就是将权限细化到每一个按钮,因为当时设计的时候每一个窗体上面的菜单都是统一的,所以比较容易控制, 开发文档 以下代码比较重要,记录了一些全局的东西: 1 public sealed class AllenSingleton 2 { 3 private static volatile

CS 系统框架二[完善自动更新]

增加了程序自动更新版本的功能,实现方式如下: 后台数据库中用一张表来保存程序的版本信息,该表的字段很简单,如下: 开发文档 CREATE TABLE [dbo].[sys_AutoUpdate]( [UID] [int] IDENTITY(1,1) NOT NULL, [SystemName] [varchar](50) NULL, [SystemVersion] [varchar](10) NULL, [Remark] [text] NULL, [UpdateDate] [datetime]

CS 系统框架二

自己一直想有一个完全属于自己的编程小框架,之前使用的方式是将每一个窗体文件都编译为一个DLL文件,在新建窗体的时候首先新建一个类,然后在这个类里面新建窗体,编译之后就是一个DLL文件,最后通过一个函数去读取这个DLL文件里面的信息,包括窗体名称,版本等,最后将设个窗体Show出来,Show出来的时候是使用的WeifenLuo.WinFormsUI.Docking.看上去貌似没什么问题,但是每次New一个窗体的时候就要New一个对应的类,那么有几百个窗体呢?那项目将会大的惊人,所以放弃了这种做法,

如何设计“找回用户帐号”功能

因为<http://www.3lian.com/edu/2011/12-03/17078.htmlwww.3lian.com/edu/2011/12-03/17078.html>一文中好多人觉得腾讯申诉是世界级先进的,并让我拿出一个找回用户的帐号的功能来.本来不想写的,因为大家看看其它系统的就行的,但是,很明显有些人就是很懒,也不会思考,而且不会观察,所以,我就只好写下这篇科普性常识性的文章. 在行文之前,我得先感谢腾讯公司的至少30名员工在<腾讯帐号申诉的用户体验>一文后的回帖(

谷歌鼓励第三方网站以及移动应用允许用户使用Google+帐号登陆服务

[科技讯]2月27日消息,据国外媒体报道,谷歌周二宣布,鼓励第三方网站以及移动应用允许用户使用谷歌旗下社交网站Google+帐号登陆其服务. 谷歌的这一做法被认为是效仿竞争对手社交网站Facebook.用户使用Google++后,谷歌可以获取用户的相关活动信息,提供更有针对性的服务或广告营销. 目前,谷歌Google++仍远远落后于Facebook.据comScore统计,2012年12月,Google+月活跃用户数为1亿,而Facebook月活跃用户数则突破了10亿.

MySQL权限系统之权限知识和管理:校对规则\列表\帐号

本篇文章将会讲述MySQL的权限校对规则.权限项列表,以及会从数据库帐号和权限的设置层面,讲述如何使我们的数据库访问或数据操纵更安全. 帐号信息校验规则 客户端向mysql数据库服务器端发送的连接请求是否成功,除了网络.防火墙等因素制约其能否访问到服务器外,最重要的是必须提供五个参数信息:客户端的IP地址或主机名称.数据库服务器的IP地址或http://www.aliyun.com/zixun/aggregation/12321.html">网络域名.数据库访问的帐号和对应的密码,以及数据