首先拖动一个  lable(写用户名)  后面 跟一个Textbox

lable(写密码) 后面 跟一个Textbox(需设置一下属性行为useSystemPasswordChar(默认输入的密码为黑点))

再加Button 按钮(text 登录)

如下图:

1、属性——杂项(AcceptButton设置成Button1)就可以按回车显示下一个页面

2、传值:Login.cs[设计] 传到 Main.cs[设计] 里一个值     用构造方法:1、在Main.cs[设计] 里拖一个Lable来准备接收

再在Main.cs里重载一个方法:

再在Login.cs里来接收:——造主窗体对象时   Main m=new Main(uid)

双击登录 加一个事件:

数据操作类如下:

public partial class Login : Form
{
public string username;
public Login()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
先取出用户名 密码
定义变量取到用户名、密码
string uid= textuid.Text;
string pwd= textpwd.Text;
再判断uid是不是空的
if (uid != "" && pwd != "")
{
都不为空时再来判断 uid pwd 是不是匹配
操作数据库 做三个类

LoginDA da = new LoginDA();          调用方法前先造一个对象
da.Denglu(uid,pwd);                      调用第三个类里的方法,传两个参数过来
if (da.Denglu(uid, pwd))                 判断
{

登录之后,关闭登录页面,只显示Main页面,Main成为主窗体
将用户名赋值给成员变量username
username = uid;
将该窗体的返回值变为OK                                 三步
this.DialogResult = DialogResult.OK;
//将该窗体关闭
this.Close();
}
else
{
MessageBox.Show("用户名或密码错误!");
}

}

else

//如果是空
MessageBox.Show("用户名和密码不能为空!");
}

}

需改动:program.cs

下拉列表:

public partial class Main : Form
{

private ZgDA cda;
public Main()
{
InitializeComponent();
}
public Main(string username)//重载了一个Main方法
{

InitializeComponent();

cda = new ZgDA();

}

private void label1_Click(object sender, EventArgs e)
{

}

private void Main_Load(object sender, EventArgs e)
{

填充省的下拉列表
Fillsheng();
填充市的下拉列表
Fillshi();
填充区的下拉列表
Fillqu();
}

private void cmbsheng_SelectedIndexChanged(object sender, EventArgs e)

{
填充市的下拉列表
Fillshi();

}

private void cmbshi_SelectedIndexChanged(object sender, EventArgs e)
{
填充区的下拉列表
Fillqu();
}
public void Fillsheng()//填充省的方法
{
List<Zg> List= cda.select("0001");              根据父级代号查到该父级下所有的子集的集合
cmbsheng.DataSource = List;                     把查到的集合交给省的下拉作为数据源
cmbsheng.DisplayMember = "Name";             显示民族名称
cmbsheng.ValueMember = "Code";                后台值是民族代号
}
public void Fillshi()                                   填充市的方法
{
List<Zg> List = cda.select(cmbsheng.SelectedValue.ToString());选中哪个省就取到哪个省的代号
cmbshi.DataSource = List;                          把查到的集合交给市的下拉作为数据源
cmbshi.DisplayMember = "Name";                  显示民族名称
cmbshi.ValueMember = "Code";                    后台值是民族代号
}
public void Fillqu()//填充市的方法
{
List<Zg> List = cda.select(cmbshi.SelectedValue.ToString());   选中哪个省就取到哪个省的代号
cmbqu.DataSource = List;                         把查到的集合交给市的下拉作为数据源
cmbqu.DisplayMember = "Name";                显示民族名称
cmbqu.ValueMember = "Code";                  后台值是民族代号
}
}
}

C# 窗体(登录界面)的更多相关文章

  1. C#学习笔记-Windows窗体基本功能(Login登录界面)

    本菜鸟由于实习工作的原因,不得不快速接触C#语言,刚刚好又要做毕业设计,所以就通过自学的方式一举两得地完成这两件事情. 故此文字记录或代码中的各种文件名之类均是以毕业设计为模版记录的,看着不方便之处请 ...

  2. winform设计一个登录界面和修改密码的界面-自动切换窗体(问题[已解] 望一起讨论)(技术改变世界-cnblog)

    http://www.cnblogs.com/IAmBetter/archive/2012/01/14/2322156.html winform设计一个登录界面和修改密码的界面-自动切换窗体(问题[已 ...

  3. 界面编程模仿篇(QQ登录界面逼真篇)

    写了好多天的爬虫,偷空前前后后用了两天的时间(排除吃饭睡觉)写完了这个QQ登录界面,看起来还凑和着吧,如果是的大神的,莫见笑,纯属业余作品,废话先不多说,截图如下,其中第二幅图片中的红色方框部份有待完 ...

  4. Android 仿 窗帘效果 和 登录界面拖动效果 (Scroller类的应用) 附 2个DEMO及源码

    在android学习中,动作交互是软件中重要的一部分,其中的Scroller就是提供了拖动效果的类,在网上,比如说一些Launcher实现滑屏都可以通过这个类去实现.下面要说的就是上次Scroller ...

  5. Java图形界面学习---------简易登录界面

    /** * @author Administrator * Java图形界面学习---------简易登录界面 * date:2015/10/31 */ import java.awt.BorderL ...

  6. 项目小程序笔记-登录界面+FPGA管脚分配文件生成

    声明:只是为了记录我遇到的一些问题,其中有我理解错的望勿参考. (1)qt designer设计好窗口 主窗口: 登录窗口: 关于qt designer的使用,大可以百度,很简单的,要注意的是部件的参 ...

  7. 一步一步写出java swing登录界面,以及输入的参数获取

    经过好几天的学习,研究,接下来说说java swing,以及内嵌浏览器的方法. 一.swing是一个用于java应用程序用户界面的的开发工具包. 例如:接下来我们做个登录界面,简要说明 做之前的构想图 ...

  8. 第四篇——Spring音乐登录界面设计及实现(C#)

    Spring音乐播放器,我们小组设计其启动时有一个登录界面,用户初次可以注册,输入用户名和密码,点击注册即将输入信息保存到register文本文件中:如果已有用户名,输入用户名和密码,点击登录,程序会 ...

  9. (三)SSO之CAS框架单点退出,退出到CAS登录界面

    应需求的改变.CAS自定义登录页面不安全,不再使用,于是我一下子回到了原点,在linux上部署上了没有加自定义登陆界面的CAS,接下来开始修改CAS自己默认的登录界面为我们的界面. 一下子修改成功是根 ...

  10. JavaSwing仿QQ登录界面,注释完善,适合新手学习

    使用说明: 这是一个java做的仿制QQ登录界面,界面仅使用一个类, JDK版本为jdk-11 素材包的名字为:素材(下载)请在项目中新建一个名字为“素材”的文件夹. 素材: https://pan. ...

随机推荐

  1. BZOJ4513: [Sdoi2016]储能表

    Description 有一个 n 行 m 列的表格,行从 0 到 n−1 编号,列从 0 到 m−1 编号.每个格子都储存着能量.最初,第 i 行第 j 列的格子储存着 (i xor j) 点能量. ...

  2. ffmpeg常用命令

    windows http://www.cnblogs.com/wainiwann/p/4128154.html ubuntu http://blog.csdn.net/hellowxwworld/ar ...

  3. 前端自动化工具 -- grunt 使用简介

    grunt作为一个前端构建工具,有资源压缩,代码检查,文件合并等功能. 下面就简单了解grunt的使用. 一.环境配置 grunt是基于nodejs的,所以需要一个 nodejs 环境,未了解的可以  ...

  4. CSS Hack汇总快查(CSS兼容代码演示)

    文章出处和来源网址:http://www.divcss5.com/css-hack/c284.shtml 以下是常用CSS HACK问题及解决代码-DIV+CSS网支持 1.屏蔽IE浏览器(也就是IE ...

  5. Unix NetWork Programming -- 环境搭建(Ubuntu 12.04 x86_64)

    1. 下载源代码:http://www.ituring.com.cn/book/download/60498ad9-ede6-4023-a92b-04d47be23578 2. 解压文件后进入文件根目 ...

  6. Struts的文件下载功能实现代码

    Action: package com.tengfeiyang.action; import java.io.File; import java.io.FileInputStream; import ...

  7. PLSQL Developer注册码

    Product Code:4t46t6vydkvsxekkvf3fjnpzy5wbuhphqzserial Number:601769password:xs374ca

  8. 配置perl-cgi的运行环境,由于Active Perl安装在d:\perl

    Apache 1.3.22 for Win32+PHP 4.0.6+Active Perl 5.006001+Zend Optimizer v1.1.0+mod_gzip 1.3.19.1a+MySQ ...

  9. 关于 calloc 函数使用 与fun 函数

    s=(float *) calloc (1,sizeof(float)); #include "stdio.h"#include "stdlib.h"void ...

  10. File类的createNewFile()与createTempFile()的区别

    最近,在看代码时看到了一个方法, File.createTempFile() ,由此联想到File.createNewFile() 方法,一时间不知道两者到底有什么区别,感觉都是创建新文件嘛,后来查看 ...