目录

一、 本文目标

二、 准备工作

1、 数据库

2、 材料

三、 界面布局

1、设置控件的属性值

(1) 输入框

(2) 图片属性

(3) HandElectricity的标题的label属性

(4)登录按钮

(5)版权申明

(6) 记住密码

2、 事件代码

(1) 登录按钮

(2)  使用验证码登录

(3) 其它的按钮


一、 本文目标

初级版,请看我的上一篇博文自行补脑哦,这里就不在赘述了。

二、 准备工作

1、 数据库

本文采用的是SqlSever2008的数据库,暂时的数据表设计如下:

表名为:HE_User       用于保存用户的账号密码等信息,其它的表现在还用不上,暂时不讲。

下表为登录的账号密码,这里会涉及到一个知识点,就是如何设置sqlsever的id自增。

这里用到了identity关键字:indentity(a,b),a b均为正整数,a表示开始数,b表示步长,indentity(1,1)就代表从1开始,每次增加1 。下面是我创建id字段的代码。

id int IDENTITY(1,1) not null CONSTRAINT pk_id PRIMARY KEY

2、 材料

一张背景图片,一张背景透明的LOGO。

在ElectricityAPP下新建窗体,命名为frmLogin

把背景图命名为bg,LOGO的图片命名为LOGO(命名不要为中文都行)放到Image这个文件夹里面。

三、 界面布局

1、设置控件的属性值

再次基础操作返回上一篇博客视频讲解。这里主要讲一些细节和美观的问题。

先往界面中拖入一个panel设置dock属性为fill。

(1) 输入框

输入框的name设置为txtUerName和ytxtPassword(这是账号和密码的输入框)。

(2) 图片属性

(3) HandElectricity的标题的label属性

(4)登录按钮

(5)版权申明

Text的内容为:Copyright ©2018-2018 DJun. All rights reserved.

(6) 记住密码

这里只能帮到这里了。

2、 事件代码

(1) 登录按钮

我在这里写一个函数IsConnectDB来返回登录状态的。

登录按钮的Press事件:

a. 需要判断是否勾选保存密码的checkbox。

b. 连接数据库(我使用的是Sqlsever数据库,这里需要打开数据库远程连接的权限,把这个问题解决了在执行代码测试!)

 /// <summary>/// 验证用户名和密码/// </summary>/// <param name="userName"></param>/// <param name="passWord"></param>private int IsConnetDB(string userName, string passWord){try{SqlConnection conn = new SqlConnection("server=服务器的ip地址;database=HandElectricity; uid=sa;pwd=123");conn.Open();string sqlcmd = "select count(*) from [HE_User] where username= '" + userName + "' and password='" + passWord + "'";SqlCommand cmd = new SqlCommand();cmd.Connection = conn;cmd.CommandText = sqlcmd;int result = Convert.ToInt32(cmd.ExecuteScalar());conn.Close();if (result == 1){//登录成功MessageBox.Show("登录成功!");//frm_Main fm = new frm_Main();//Show(fm);}else{MessageBox.Show("账号或密码错误!");return 0;}}catch (Exception ex){Toast(ex.Message);}return 1;}private void btnLogon_Click(object sender, EventArgs e){try{string userName = txtUserName.Text.Trim();string passWord = txtPassword.Text.Trim();if (string.IsNullOrEmpty(userName) || string.IsNullOrEmpty(passWord)){throw new Exception("用户名或密码不能为空!");}int result = IsConnetDB(userName, passWord);LoadClientData(MobileServer.ServerID + "user", userName);//登录成功才记住密码if (result == 1 && chkRememberPwd.Checked == true){LoadClientData(MobileServer.ServerID + "pwd", passWord);}}catch (Exception ex){Toast(ex.Message);}}

(2)  使用验证码登录

如果需要真正的验证码,需要另行购买短信的API接口。

这里把发送了的手机号码保存在了一个记事本里面,按理来说这是需要加密处理的,我这里没有加密。

 private void btnVerify_Click(object sender, EventArgs e){try{string userID = txtUserName.Text.Trim();if (userID.Length != 11){MessageBox.Show("请输入正确的手机号码!");}else{FileStream fs;if (File.Exists("./logMobile.txt")){fs = new FileStream("./logMobile.txt", FileMode.Open);}else{fs = new FileStream("./logMobile.txt", FileMode.CreateNew);}StreamWriter sw = new StreamWriter(fs);sw.WriteLine(userID);fs.Close();MessageBox.Show("验证码发送成功,注意接收!");}}

(3) 其它的按钮

都是打开其它的窗体,手机上自带返回功能和窗体覆盖功能的。

四、 运行工作

有的朋友运行的时候发现问题了,就是如何把启动项设置成frmLogin这个登录界面。右键点击查看frmMain的代码。然后请看下图,更改即可。

下一篇文章:Smobiler实现主界面(上)——C# 或.NET Smobiler实例开发手机app(三)

Smobiler实现美观登录界面——C# 或.NET Smobiler实例开发手机app(二)相关推荐

  1. html登录界面设计代码_.NET 5 开发WPF - 美食应用登录UI设计

    Demo演示: 你的时间宝贵,不想看啰嗦的文字,可直接拉到文末下载源码! 1. 新建项目 站长开发环境: VS 2019企业版 16.70 .NET 5 Preview 5 .NET 5 WPF 项目 ...

  2. delphi 登录界面 主窗体 切换_Python GUI项目实战(二)主窗体的界面设计与实现

    前言 上一节我们介绍了Python GUI项目实战(一)登录窗体的设计与实现,实现了该项目登录窗体的GUI的搭建,用户的账号和密码校验完成后应当跳转到主窗体界面,这一节我们将具体介绍主窗体界面的设计与 ...

  3. android王者调不了界面,王者荣耀登录界面怎么改?登录界面更改教程[多图]

    王者荣耀登录界面怎么改?许多玩家都想更改自己登陆的界面,但是都不清楚,下面就让安卓乐园小编为大家带来,登录界面更改教程. 王者荣耀登录界面怎么改? 1.安卓手机打开文件管理,找到根目录下Android ...

  4. Vue实战篇一: 使用Vue搭建注册登录界面

    系列文章目录 Vue基础篇一:编写第一个Vue程序 Vue基础篇二:Vue组件的核心概念 Vue基础篇三:Vue的计算属性与侦听器 Vue基础篇四:Vue的生命周期(秒杀案例实战) Vue基础篇五:V ...

  5. 有趣的HTML实例(七) 注册登录界面Ⅱ(css+js)

    你知道,有些鸟儿是注定不会被关在牢笼里的,它们的每一片羽毛都闪耀着自由的光辉. --<肖申克的救赎> 目录 一.前言 二.往期作品回顾 三.作品介绍 四.本期代码介绍 五.效果显示 六.编 ...

  6. 如何使用Python tkinter 设计软件登录界面

    如何使用Python tkinter 设计登录界面 文章目录 前言 一.建立主窗口 二.建立子控件 1.Label标签控件与Entry输入控件 2.按钮Button 仅供交流学习禁止转载的声明 前言 ...

  7. 【Android笔记12】使用Android实现QQ登录界面功能

    这篇文章,主要利用前面学习的Android相关开发知识,模拟实现QQ登录界面的功能. 目录 一.效果展示 (1)登录界面布局分析 (2)具体实现效果 二.

  8. 手机 APP 的卖货界面

    需求 网上买菜的微信小程序,其典型界面是左侧一个列表显示商品分类,右侧一个列表,显示商品明细.左侧列表要显示当前选中的是哪条分类记录(高亮这条记录).右侧列表滑到底部后,往上再滑一次,自动切换到下一个 ...

  9. 【生活小捣鼓】登录PC端某网站,需要他人(不在身边)手机扫二维码,这时候该怎么办?

    首先要区分两个概念:[二维码扫描]和[二维码识别],扫描是在摄像头对二维码图片的录入下完成的,识别是只需要一台手机进行自我识别完成的. 以前登录微信公众号,不是管理者也可以.在输入账号密码后,把登录的 ...

  10. 页面中color颜色值_计算机毕业设计中实现一个简易美观的登录界面

    点击上方"蓝字",关注我们. 实现一个登录界面,展示一下效果: 然后我们看一下代码: 在我们做一个页面之前,要先想好他的一个整体布局,也就是我们这里面的login.html主页面, ...

最新文章

  1. uwsgi gevent
  2. anguler 画面布局适应屏幕大小_前端开发常见的五大布局模式,绝对不要错过这篇分享!...
  3. 2010数据库SQL Server 盘点
  4. jquery ajax 跨域解决方案 - CORS
  5. 对比学习视角:重新审视推荐系统的召回粗排模型
  6. asp.net性能优化之使用Redis缓存(入门)
  7. c/c++ int _tmain(int argc, _TCHAR* argv[])
  8. error C2146: 语法错误: 缺少“;”(在标识符“CRC”的前面) ...\...\MyMethod.h
  9. 外螺纹对照表_螺纹螺距对照表
  10. 爬虫项目实操五、用Scrapy爬取当当图书榜单
  11. linux ssd做raid1,linux 磁盘阵列 raid1搭建教程
  12. Unity网格编程篇(二) 非常详细的Mesh编程入门文章
  13. 多少秒算长镜头_电影术语中长镜头是什么意思?
  14. 【闲聊】人生如梦,一樽还酹江月
  15. 1月15日科技资讯|微信可直接转账到 QQ;小米联合中国联通推出当前最便宜 5G 套餐;Git 2.25.0 发布
  16. cpm、cpc、cps和cpa分别是什么意思
  17. Android绘制地图
  18. 深耕模具细分领域20载 德惠创新研发领跑行业
  19. 如何用大数据构建精准用户画像?
  20. 06-jQuery中的防抖和节流

热门文章

  1. 微软小娜关闭服务器,图文详解彻底关闭windows10系统里的小娜(Cortana)语音服务-系统操作与应用 -亦是美网络...
  2. NATAPP 内网穿透的使用
  3. 计算机-国家精品课程-推荐
  4. JavaCV 绘制多边形
  5. spss数据分析_排序数据_计算变量
  6. 直播系统源码开发经验分享
  7. 12月大学计算机二级考试时间,2020年12月计算机二级考试报名时间及考试安排
  8. iTextSharp显示中文
  9. UML(Unified Modeling Language) 统一建模语言
  10. html5shiv-兼容处理文件