本菜鸟由于实习工作的原因,不得不快速接触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. 6to5 – 让你即刻体验 ECMAScript 6 编程

    ECMAScript 6 是下一代的 ECMAScript 标准.ECMAScript 6 的目标是让 JavaScript 可以用来编写复杂的应用程序.函数库和代码的自动生成器. ES6 是这门语言 ...

  2. 使用 SVG 动画实现弹性的页面元素效果

    Codrops 分享了一些给SVG元素加上弹性动画的灵感.实现的思路是把一个SVG元素整合成一个组件,然后从一个路径弹性动画到另一个.这种效果可以应用到像菜单,按钮或其它元素,使得交互更有趣,看起更原 ...

  3. 为什么URL中的中文需要Encode两次?

    在URL中传参的时候常常需要传入中文,这个时候就需要对中文参数进行编码,即URLEncode.但是,常常是Encode两次,而不是一次,为什么呢? 首先要知道,tomcat会自动解码一次: 这样的话, ...

  4. [deviceone开发]-do_SlideListView的简单示例

    一.简介 利用提供的SlideListVIew实现那种cell可以滑动露出底部按钮的功能 主要组件:do_slidelistview 二.效果图 三.相关讨论 http://bbs.deviceone ...

  5. AngularJS 学习之路(1)

    AngularJS 是一个 JS 框架,适用于以数据操作为主的 SPA (Single Page Application)应用. 不再是 "先查找元素在操作元素",所有操作都以 & ...

  6. 微信 小程序 drawImage wx.canvasToTempFilePath wx.saveFile 获取设备宽高 尺寸问题

    以下问题测试环境为微信开发者0.10.102800,手机端iphone6,如有不对敬谢指出. 根据我的测试,context.drawImage,在开发者工具中并不能画出来,只有预览到手机中显示. wx ...

  7. SQL Server SQL分页查询

    SQL Server SQL分页查询的几种方式 目录 0.    序言 1.    TOP…NOT IN… 2.    ROW_NUMBER() 3.    OFFSET…FETCH 4.    执行 ...

  8. DirectX基础 常用函数语句

    DirectX常用函数语句 常用数学类函数: 计算向量的长度(模): FLOAT D3DXVec3Length(CONST D3DXVECTOR3* pV); 向量的规范化: D3DXVECTOR3 ...

  9. 定制Android透明按钮

    自己在学习和做例子的过程中,常常会需要按钮,由于系统自带按钮样式不太好看,所以需要我们自己来定制项目得按钮,我常常采用2中方法: 1.是制作9-patch的图片,这样能够匹配文字内容的长短. 2.是指 ...

  10. Android Studio教程--Android项目分享到Github

    首先下载安装git 下载地址:https://git-scm.com/ 打开AS,并设置如下: 到github上面注册一个帐号 运行--cmd cd C:\Program Files\Git\bin ...