zoukankan      html  css  js  c++  java
  • 登录和下拉列表

    简单登录:

    需要用到数据库里的  login 表,根据这个用户表 输入用户名和密码 来判断这个用户名和密码是否匹配,

    匹配会登录  不匹配...

    首先拖动一个  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";//后台值是民族代号
    }
    }
    }

  • 相关阅读:
    解析中间人攻击(4/4)---SSL欺骗
    解析中间人攻击(3/4)---会话劫持
    解析中间人攻击(2/4)---DNS欺骗
    解析中间人攻击(1/4)---ARP缓存中毒
    (转)常见的HTTPS攻击方法
    转载 OpenUrl
    如何安全的存储密码
    本地存储密码的安全设计
    硬件断点和软件断点的区别
    网站防止CC攻击的方法
  • 原文地址:https://www.cnblogs.com/yp11/p/5796250.html
Copyright © 2011-2022 走看看