首先还是通过例子来讲解,这次的实验主要是使用messageBox的使用方法,关于messageBox的使用方法在我的博客里面有相关的转载,请自己查看,下面说一下实验要求。

功能要求:模拟一个用户登陆的界面。

功能分析:(可以观看1-2.SWF查看题目运行效果)

(1) 文件组成:窗口(Login.cs)

(2) 功能实现:

程序实现用户登陆(如图4所示),当输入用户名”abc”,密码”123”的时候点击确定按钮,显示用户登陆成功信息提示(如图5所示),同时进入系统按钮变为可用;当输入用户名和密码错误时有错误提示(如图6所示);当单击进入系统按钮时,提示欢迎使用(如图7所示),当单击确定按钮时返回登陆界面,当单击取消按钮时关闭窗体。

  1. 程序实现

(1) 属性:系统界面

  1. 窗体:名称为Login,标题显示文字为(用户登陆);
  2. 标签(工具箱中Label控件):两个label,名称分别为lb_name和lb_password,显示的文字分别如图所示,字体大小为四号,加粗;(注:参照button控件的属性)
  3. 文本框(工具箱中TextBox控件):两个文本框控件名称分别为tx_name和tx_password
  4. 按钮:两个按钮名称分别为btn_ok和btn_enter,文字显示如图所示,字体大小为四号,加粗;其中btn_ok按钮的背景颜色为黄色(可以选择也可以在属性中直接输入255,255,0),前景颜色为蓝色(0,0,255);btn_enter按钮初始为不可用,前景颜色为红色(255,0,0);

图8 流程图

l 单击确定按钮时进行判断,如果用户名和密码的内容是”abc”和”123”,则弹出消息框,同时进入系统按钮变为可用;如果不是要求内容,则弹出错误提示消息框,同时进入系统按钮要不可用。

l 当用户输入正确时,进入系统按钮可用,当单击该按钮时,弹出欢迎消息框,当单击取消按钮时关闭窗体。(注:这里判断单击的是消息框的哪个按钮时,需要对MessageBox.show的返回值进行判断,返回值的类型是DialogResult,枚举值可以由DialogResult. 之后系统提示,根据需要进行赋值就可以了)

l 说明:如果对于最后的单击取消按钮关闭窗体的代码不会编写的可以先不写;

单击确定按钮的判断是用户名和密码要同时满足才可以

首先别忘了,初始情况下Login.cs窗体的btn_ok的enable属性设置为false

代码:

private void btn_ok_Click(object sender, EventArgs e)
{
if (tx_name.Text.ToString() == "abc" && tx_password.Text.ToString() == "123")
{
MessageBox.Show("欢迎用户:abc", "消息", MessageBoxButtons.OK, MessageBoxIcon.Information);
btn_enter.Enabled = true;
}
else if (tx_name.Text.ToString() == "" || tx_password.Text.ToString() == "")
MessageBox.Show("请输入用户名或密码!", "警告", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);
else
{
MessageBox.Show("您输入的用户名密码错误!", "消息", MessageBoxButtons.OK, MessageBoxIcon.Warning);
tx_name.Text = "";
tx_password.Text = "";
tx_name.Focus();
}
}

private void btn_enter_Click(object sender, EventArgs e)
{
MessageBox.Show("欢迎使用学生系统", "消息", MessageBoxButtons.OKCancel, MessageBoxIcon.Information);
}

private void Login_Load(object sender, EventArgs e)
{
tx_name.Focus();
}
}
}

关于winform的后续内容在之后我会发表

winform基本控件的使用2(用户登录界面的设计)的更多相关文章

  1. 编写Java程序,使用Swing布局管理器和常用控件,实现仿QQ登录界面

    返回本章节 返回作业目录 需求说明: 使用Swing布局管理器和常用控件,实现仿QQ登录界面 实现思路: 创建登录界面的类QQLogin,该类继承父类JFrame,在该类中创建无参数的构造方法,在构造 ...

  2. 在DevExpress程序中使用Winform分页控件直接录入数据并保存

    一般情况下,我们都倾向于使用一个组织比较好的独立界面来录入或者展示相关的数据,这样处理比较规范,也方便显示比较复杂的数据.不过在一些情况下,我们也可能需要直接在GridView表格上直接录入或者修改数 ...

  3. winform窗体控件(全)

    回顾跟补充下除了昨天那常用6个其他的winform窗体控件作用 1:Button:按钮 (1)AutoSize:如果是True的情况下,内容将会撑开:False的话会另起一行 (2)Enabled: ...

  4. winform基本控件----按钮

    这次来引用一个我们上课时候老师给的一个实验内容,来说一下winform程序设计中的按钮控件的使用.下面是我们老师给的实验内容. 实验目的: 掌握Winform的开发环境. 掌握窗体的创建和基本方法. ...

  5. DevExpress Winform 常用控件

    Ø  前言 DevExpress 控件的功能比较强大,是全球知名控件开发公司,对于开发 B/S 或 C/S 都非常出色,可以实现很炫且功能强大的效果. DevExpress Winform 常用控件是 ...

  6. winform 分页控件

    http://www.cnblogs.com/liuyunsheng/p/4853387.html http://www.cnblogs.com/wuhuacong/archive/2011/07/0 ...

  7. winform基础控件总结

    转自:http://www.cnblogs.com/top5/archive/2010/04/29/1724039.html 基础 - 常用控件 C# WinForm开发系列 - CheckBox/B ...

  8. DevExpress Winform 通用控件打印方法(允许可自定义边距) z

    DevExpress Winform 通用控件打印方法,包括gridcontrol,treelist,pivotGridControl,ChartControl,LayoutControl...(所有 ...

  9. C# Winform WebBrowser控件

    C# WinForm WebBrowser 1.主要用途:使用户可以在窗体中导航网页. 2.注意:WebBrowser 控件会占用大量资源.使用完该控件后一定要调用 Dispose 方法,以便确保及时 ...

随机推荐

  1. js字符拼接

    for (var j = 0; j < 9; j++) { eval("if (datas[i].b" + j + " == '1') { b[j-1] = 1; ...

  2. 将NSString转换成UTF8编码的NSString

    在使用网络地址时,一般要先将url进行encode成UTF8格式的编码,否则在使用时可能报告网址不存在的错误,这时就需要进行转换 下面就是转换函数: NSString *urlString= [NSS ...

  3. malloc杀内存于无形

    C语言中的malloc函数是分配内存用的,函数内部生命的变量也会分配内存,但是当函数释放的时候内存也就释放了,这样就不会占用内存了,但是malloc函数不同, 如下 typedef struct No ...

  4. UE4 Android打包 问题 记录笔记

    问题一:error: expression result unused [-Werror,-Wunused-value] 虽然看了输出日志知道了这行沉余代码删掉就行,但是不是很懂这个地方报错意义. 问 ...

  5. BZOJ 1018 线段树维护图连通性

    用8个bool维护即可分别为LURU,LURD,LDRU,LDRD,LULD,RURD,Side[1],Side[2]即可. Side表示这一块有没有接到右边.Merge一下就可以了.码农题,WA了一 ...

  6. linux驱动的分离分层概念之LED

    bus_drv_dev模型:功能改写只需改dev硬件代码即可,drv不需改写. LED例子 下面用一个点亮LED的例子来说明这个分离的的例子: led_dev.c  定义这个平台设备的资源: stat ...

  7. iOS--cell的重用机制

    对于像我们这样的初学者来说,cell重用机制是很难理解的内容,所以我们不一定非得理解,会用就行. cell的重用机制:当我们使用tableView时,系统只会创建屏幕中显示的cell的个数+1,当ce ...

  8. C#基础——系统登录功能的实现

    一般的登陆界面,都是利用用户名和密码在数据库的匹配关系,来实现登陆的跳转功能. 首先介绍用户数据表的设计. 其中ID列需要设置好增量标识,随着用户的增加,ID的值递增,避免重复. 然后是C#中对数据库 ...

  9. TOJ2647

                                                             2647: How Many Tables 时间限制(普通/Java):1000MS/ ...

  10. 关于 ant 不同渠道自动打包的笔记

    必要的java.android.ant文件及循环打包用到的ant的jar 下载Ant(这里的Ant不是eclipse和android SDk里面自带的ant)      官方下载地址:http://a ...