首先还是通过例子来讲解,这次的实验主要是使用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. [解决方案] pythonchallenge level 6

    查看页面代码,知道找zip www.pythonchallenge.com/pc/def/channel.zip,查看zip下的readme.txt知道从90052,跑一遍知道要收集zip的comme ...

  2. 主要由顶点容器构成的平面图形类(Shape)——(第一次作业Draw类定义升级)

    // https://github.com/orocos/orocos_kinematics_dynamics/blob/master/orocos_kdl/src/frames.hpp // Vec ...

  3. 如何启动app时全屏显示Default.png(图片)?

  4. PHP 爬虫

    1.爬虫的本质简单来说,就是读取页面源代码,然后用正则匹配得到想要的数据. 示例如下: private function spider_jiuyou_list($listname,$url)    { ...

  5. dynamic_cast 和 static_cast 隐式类型转换的区别

    首先回顾一下C++类型转换: C++类型转换分为:隐式类型转换和显式类型转换 第1部分. 隐式类型转换 又称为“标准转换”,包括以下几种情况:1) 算术转换(Arithmetic conversion ...

  6. [ADB]ADB(Android Debug Bridge)简介及基础(不包含命令)

    "Android Debug Bridge (adb) is a versatile command line tool that lets you communicate with an ...

  7. must implement the inherited abstract method

    The type VideoView must implement the inherited abstract method MediaController.MediaPlayerControl.g ...

  8. CSS hack方式一览【转】

    做前端多年,虽然不是经常需要hack,但是我们经常会遇到各浏览器表现不一致的情况.基于此,某些情况我们会极不情愿的使用这个不太友好的方式来达到大家要求的页面表现.我个人是不太推荐使用hack的,要知道 ...

  9. php获取post参数的几种方式 RPC 规定接收取值方式 $GLOBALS['HTTP_RAW_POST_DATA'];

    http://www.cnblogs.com/zhepama/p/4022606.html PHP默认识别的数据类型是application/x-www.form-urlencoded标准的数据类型. ...

  10. ie6对hover兼容性问题的解决:

    ie6对hover兼容性问题的解决: 1,在body里添加以下样式: behavior:url(../scripts/csshover.htc); csshover.htc可直接在网上下载 2,js解 ...