本菜鸟由于实习工作的原因,不得不快速接触C#语言,刚刚好又要做毕业设计,所以就通过自学的方式一举两得地完成这两件事情。

故此文字记录或代码中的各种文件名之类均是以毕业设计为模版记录的,看着不方便之处请海涵。(毕竟菜鸟的我暂时还不能把代码写的特别规范)

在学习过程中以日记或者周记的方式记录我遇见的问题和各种学习到的知识以此来巩固,如果有和我一样情况的志同道合的菜鸟,那我们就一起相互交流和学习吧~

文字记录的错处或者可以优化的地方,如果有大神看见,更希望不吝赐教~

毕业设计的大概模型是类似QQ的聊天,所以二话不说就先弄一个登录的Windows窗体Login_interface(开始不知道怎么规范命名,想起来就百度,后面可把我坑惨了,囧)。

最初基本的也比较好学习,C#将很多窗体的功能通过简单的设置和简单的代码(很多功能都可以百度到)变得非常容易实现,让我这种菜鸟都好上手。

1.windows窗体

我实现的是登录界面没有最大化,只需要在右下角的属性中MaximizeBox选择为False即可;

另外就是BackgroundImage设置为随便百度的一张2013的QQ背景图;

2.TextBox控件

(一个用户名输入,一个密码输入都需要这个东西)

我想在TextBox中实现,鼠标未点击的时候显示“请输入用户名”,鼠标点击的时候为空,以便输入信息。

在学习中我才知道这个过程叫做焦点,TextBox获得焦点的过程就是鼠标点击的过程,这里就需要建立事件Enter和Leave事件咯.

        private void textBox_UserName_Enter(object sender, EventArgs e)
{
//当当前控件得到焦点是,文本内容变为空
if (textBox_UserName.Text == "请输入用户名")
{
textBox_UserName.Text = "";
textBox_UserName.ForeColor = Color.Black;
}
//当当前控件得到焦点时,设置背景颜色
textBox_UserName.BackColor = Color.Beige;
} private void textBox_UserName_Leave(object sender, EventArgs e)
{
if (textBox_UserName.Text == "")
{
textBox_UserName.Text = "请输入用户名";
textBox_PassWord.ForeColor = Color.Gray;
}
//当当前控件失去焦点时,设置背景颜色为白色
textBox_UserName.BackColor = Color.White;
}

3.Button控件

建立一个确定按钮,一个取消按钮。

用户名和密码正确就进入用户界面,如果错误就显示错误信息(目前知识统一的错误形式)

        private void button1_Click(object sender, EventArgs e)
{ if (textBox_UserName.Text == "1" && textBox_PassWord.Text == "1")
{
this.Close();
}
else
{
MessageBox.Show("用户名与密码错误,请重新输入");
}
}

取消按钮就退出程序(退出时强调一下确定退出)。

        private void button_Cancel_Click(object sender, EventArgs e)
{
if (MessageBox.Show("你要干嘛?", "想清楚咯!", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation) == DialogResult.Yes)
{
Environment.Exit(0);
}
}

这样一个基本的Login登录界面就算基本完成了~^w^~

欢迎各位指点赐教~

(2016-03-31)

C#学习笔记-Windows窗体基本功能(Login登录界面)的更多相关文章

  1. C#学习笔记-Windows窗体自定义初始位置

    根据屏幕大小定义初始位置: (这个不是难,但是最近常常忘记,记着方便查看.) //获取当前屏幕的长和宽 int ScreenX = Screen.PrimaryScreen.Bounds.Width; ...

  2. C#学习笔记——MDI窗体(多文档界面)

    1.设置父窗体: 如果要将某个窗体设置为父窗体,只需将该窗体的IsMdiContainer属性设置为True即可. 2.设置子窗体: 通过设为某个窗体的MdiParent属性来确定该窗体是那个窗体的子 ...

  3. Android菜鸟的成长笔记(3)——给QQ登录界面说So Easy

    原文:Android菜鸟的成长笔记(3)--给QQ登录界面说So Easy 上一篇:Android菜鸟的成长笔记(2)--第一个Android应用 我们前面已经做了第一个Android应用程序,虽然有 ...

  4. MySQL学习笔记Windows篇<一> Welcome to MySQL

    MySQL安装完毕后没有图形化操作界面,图形化管理界面需要另行安装,个人比较喜欢Navicat,界面更像SQLserver: 此篇学习笔记所有操作均使用命令行中完成: 1.开启/停止服务 使用MySQ ...

  5. DELPHI语法基础学习笔记-Windows 句柄、回调函数、函数重载等(Delphi中很少需要直接使用句柄,因为句柄藏在窗体、 位图及其他Delphi 对象的内部)

    函数重载重载的思想很简单:编译器允许你用同一名字定义多个函数或过程,只要它们所带的参数不同.实际上,编译器是通过检测参数来确定需要调用的例程.下面是从VCL 的数学单元(Math Unit)中摘录的一 ...

  6. ArcGIS API for JavaScript 4.2学习笔记[16] 弹窗自定义功能按钮及为要素自定义按钮(第五章完结)

    这节对Popups这一章的最后两个例子进行介绍和解析. 第一个[Popup Actions]介绍了弹窗中如何自定义工具按钮(名为actions),以PopupTemplate+FeatureLayer ...

  7. testNG 学习笔记 Day 1 使用功能详解

    TestSuite处理测试用例有6个规约(否则会被拒绝执行测试) A 测试用例必须是公有类(Public) B 测试用例必须继承与TestCase类 C 测试用例的测试方法必须是公有的( Public ...

  8. MongoDB学习笔记—windows下安装

    1.登录官网下载安装包 官网下载地址:https://www.mongodb.com/download-center?jmp=nav#community 根据你的系统下载 32 位或 64 位的 .m ...

  9. Redis学习笔记九:独立功能之慢查询日志

    Redis 的慢查询日志用于记录执行时间超过给定时长的命令请求,用户可以通过这个功能产生的日志来监视和优化查询速度. 服务器配置有两个相关选项: slowlog-log-slower-than 选项指 ...

随机推荐

  1. Harp – 内置常用预处理器的静态 Web 服务器

    Harp 是一个基于 Node.js 平台的静态 Web 服务器,内置流行的预处理器,支持把 Jade, Markdown, EJS, Less, Stylus, Sass, and CoffeeSc ...

  2. DOM中的事件处理概览与原理的全面剖析

    事件是一种异步编程的实现方式,本质上是程序各个组成部分之间的通信,DOM支持大量的事件: 本文通过这几点向大家详细解析事件处理的基本原理:事件类型.事件目标.事件处理程序.事件对象.事件传播 最后再向 ...

  3. js方法实现rgb颜色转换成16进制格式的代码的方法

    原文地址:http://www.cnblogs.com/vaal-water/archive/2013/04/08/3008880.html 自己试过很好用 function zero_fill_he ...

  4. SharePoint 2013 列表关于大数据的测试<二>

    1.给测试列表添加查阅项字段,100个,代码如下: 2.插入测试数据的方法,注意查阅项字段的格式,代码如下: 3.插入10w条数据,时间花费如下(不建议List[LISTNAME].Items.Add ...

  5. android listview多视图嵌套多视图

    笔记,listview视图总结 public class HomeEduMoreAdapter extends BaseAdapter { private final String TAG = &qu ...

  6. 微信小程序之后台https域名绑定以及免费的https证书申请

    微信小程序在11月3号发布了,这是一个全新的生态,没有赶上微信公众号红利的开发者,运营者可别错过这趟车了. 但是微信的后台需要全https,之前我还不相信,后台注册了后进后台才发现,服务器配置如下图 ...

  7. <转>关于Certificate、Provisioning Profile、App ID的介绍及其之间的关系

    转自:http://www.cnblogs.com/cywin888/p/3263027.html 刚接触iOS开发的人难免会对苹果的各种证书.配置文件等不甚了解,可能你按照网上的教程一步一步的成功申 ...

  8. 用GCD线程组与GCD信号量将异步线程转换为同步线程

    有时候我们会碰到这样子的一种情形: 同时获取两个网络请求的数据,但是网络请求是异步的,我们需要获取到两个网络请求的数据之后才能够进行下一步的操作,这个时候,就是线程组与信号量的用武之地了. #impo ...

  9. python 判断学期与学年

    9,10,11,12,1 第一学期 2,3,4,5,6,7 第二学期 其中8月份放假,暂且放入第一学期.因为大部分学校都选在8月底开学 import datetime def getXNandXQ() ...

  10. MapReduce实例-基于内容的推荐(一)

    环境: Hadoop1.x,CentOS6.5,三台虚拟机搭建的模拟分布式环境 数据:下载的amazon产品共同采购网络元数据(需FQ下载)http://snap.stanford.edu/data/ ...