c# 一个托盘程序的详细设计过程(用户登录)
来源:互联网 发布:c与matlab混合编程 编辑:程序博客网 时间:2024/06/06 04:33
- 整个程序的设计思路如下:
- 共有四个窗体(对我我们的主题托盘来说无需关注窗体之中的具体内容,只需搞清楚是怎么显示的便可),四个窗体分别是主窗体(FrnMian),登录窗体(FrmLogin),发送Email窗体(FrmPostTask),接受窗体(FrmViewTask)
- 其中,登录窗体(FrmLogin),发送Email窗体(FrmPostTask),接受窗体(FrmViewTask)分别对应托盘右键菜单的三个菜单选项,主窗体用来存放NotifyIcon控件,和ContextMenuStrip控件
- 整个过程是通过右击托盘菜单进入登录界面,验证成功后顺利进入相应的窗体:快捷菜单有三个菜单项,名称分别为:发Email,接收,和退出,单击发Email菜单时会首先进入登录界面,经过验证成功后会进入发送Email的窗体,单击接收菜单时会进入另一个窗体,单击退出菜单时会提示是否退出整个程序
- 整个程序设计过程如下
一:主窗体(FrnMian)
1:首先,设置窗体Form1属性。窗体名称设置为FrnMian,ShowInTaskBar属性为false(为了不让其在任务栏显示) ,ShowIcon设置为false(不显示窗体图标) ,Text属性赋值为托盘菜单。
2:在窗体中添加一个NotifyIcon控件,名称为TrayIcon,其Icon属性是为托盘添加一个图标,就像QQ图标一样,在这里我们可以选择一个我们喜欢的图标
3:再为窗体添加一个ContextMenuStrip控件(这是右键快捷菜单),名称还是contextMenuStrip1,然后为快捷菜单添加三个菜单项,分别为:发Email,接收,和退出,并且为发Email菜单项添加图标
做好后如下图所示:
4:然后设置TrayIcon的contextMenuStrip属性为contextMenuStrip1,使contextMenuStrip1绑定到TrayIcon
至此第一步已完成,运行程序会在状态栏出现我们的托盘图标,右击托盘,会出现快捷菜单,有几个菜单项,可以点击,但是没有任何反应,因为我们没有写单击事件
二:登录窗体(FrmLogin)
1:新建一个windows窗体,并命名为FrmLogin,(我们可以组织我们自己的登陆界面,在这里我用了一个Panel控件,并用Photoshop画了一张图片作为Panel的底面图片,当然你也可以不用),设置
ShowInTaskBar属性为false,StartPosition属性为CenterParent是窗体一开始出现在最中央;Text属性为登陆;FromBorderStyle属性为None,是窗体的外观;设置其背景颜色为Peru
2:在窗体上添加四个标签,分别为:用户名,密码,验证码,密码提示;一个PictureBox控件(用来作为验证码的图片显示);两个按钮,分别为确定和取消;三个TextBox控件作为输入用户名,密码和验证码
以上做完后登陆界面效果如下,当然你自己的可以简单点就行
这一步就完成了登陆窗体的布局
三:再一次新建FrmPostTask和FrmViewTask两个窗体
1:FrmPostTask窗体的Name为FrmPostTask,该窗体是点击发送Email 菜单并经过登陆验证后进入的窗体,Text属性为发送Email,设置MaxmizeBox属性为False使窗体不能被最大化,设置MaximumSize和MaximumSize大小一样(比如都为445, 319)以使窗体的大小不变;StartPosition属性为CenterParent;
2:对于FrmViewTask窗体的Name为FrmViewTask,该窗体是点击接收菜单后进入的窗体,其Text属性为接收,其他的属性设置和FrmPostTask窗体一样
至此所有窗体的制作已全部制作完毕,接下来是代码编辑
四:为个窗体添加代码
(一):主窗体(FrnMian)
1:进入主窗体FrnMian,双击发送Email菜单项,进入代码编辑区,首先为FrnMian添加一个成员_AdminLogin,同时为_AdminLogin添加属性AdminLogin,用来记录登陆状态,表示当用户成功登陆之后,
当再次点击发送Email 菜单项时,直接进入发送E mail窗体,不必再次经过登陆认证,代码如下:
2:双击FrnMian进入窗体Load函数的编辑,为AdminLogin属性附初值,同时为TrayIcon附初值,代码如下:
3:为发送Email 菜单项单击事件添加函数体(可以双击发送Email 菜单项就可直接如下该函数编辑区),代码如下:
4:同样双击接受菜单,今天接受单击事件编辑区,添加如下代码
5:双击退出菜单,为其添加单击事件,代码如下:
以上各步骤完成之后运行一下程序,点击各个菜单项,会进入相应的窗体
(二):登陆窗体(FrmLogin)
1:首先为该窗体添加两个静态成员变量Number,_Image。Number作用是记录点击登陆的次数,如果大于等于1次,就显示密码提示;_Image的作用是记录验证码上面每次显示的数字序列,便于作证
码判断,代码如下:
2:在窗体构造函数中,为成员初始化,代码如下
3:为项目新建立一个类,用以生成验证码,类名为:BllCheckCode,验证码这部分如果不懂的话,可直接将代码运用到你的代码中,以后在慢慢研究,类的成员如下:
4:编写一个对验证码进行处理的函数(变形和错位),这个如果不懂的话,可以复制到你的代码中直接用
5:编辑PictureBox1事件,实现单击验证码时即可获取下一个随机的验证码的功能,直接调用Image函数
6:为登陆按钮添加单击事件,这里有很多情况要考虑,应该很好懂的:
7:为TextBox3添加Keydown事件,判断是不是按下Enter键,如果是的话,就调用登陆按钮的单击事件,随同判断的还有是不是要显示密码提示
8:为TextBox1添加Keydown事件,使当按下Enter键之后,会让输入焦点到TextBox2上
9:同样为TextBox2添加Keydown事件,使当按下Enter键之后,会让输入焦点到TextBox3上
10:在窗体Load函数中,添加对Image()函数的调用,使窗体一加载便会出现第一张验证码图片
至此,登陆窗体的代码以编辑完毕,运行程序可以显示相应的逻辑处理
(三):接收窗体
1:这个窗体没有实现什么功能,仅仅是通过点击接收菜单时,显示它
程序到这里就全部写完了,运行这个程序就可看到托盘的效果,祝你成功
- c# 一个托盘程序的详细设计过程(用户登录)
- C#的托盘程序过程
- 托盘程序的编写过程
- C#托盘程序的编程
- C# 托盘程序的创建
- C# 托盘程序(自己的)
- 基于数据库的C#用户登录程序
- 一个很简单的用户登录设计
- 一个小小的托盘程序(定时关机)
- 一个完整托盘程序的实现
- 一个完整托盘程序的实现
- 一个完整托盘程序的实现
- Java设计一个用户注册的程序
- C#做托盘程序(转)
- C#做托盘程序
- C#托盘程序
- c# 托盘程序
- C#托盘程序
- SQL数据库基础语法总结
- 1.喜也一天,忧也一天,何不痛快过一天
- 选择复选框的xxxx
- 内核映像的形成——递归编译各对象
- 警句
- c# 一个托盘程序的详细设计过程(用户登录)
- CentOS yum的详细使用方法
- 百万级访问量网站的技术准备工作
- 内核映像的形成——链接vmlinux
- 无题
- CentOS 5.5 yum源,推荐网易 163.com的yum
- C++文件操作详解(ifstream、ofstream、fstream) - [源码/学习]
- ARM指令系统
- Oracle中如何用SQL检测字段是否包括中文字符