zoukankan      html  css  js  c++  java
  • winform(三)——更换主窗体例子

    做一个登录窗口,登录成功时关闭form1,展示from2界面

    1.主界面Login

    namespace WindowsFormsApplication1
    {
        public partial class Login : Form
        {
            public string username;//定义一个变量给子窗体传值
            public Login()
            {
                InitializeComponent();
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                //取出用户名和密码
                string uid = txtuid.Text;
                string pwd = txtpwd.Text;
    
                if (uid != "" && pwd != "")
                {
                    LoginDA da = new LoginDA(); //连接数据库
                    if (da.DengLu(uid, pwd)) //登录查询
                    {
    
                        //将用户名赋值给成员变量username
                        username = uid;
                        //将该窗体的返回值变为OK
                        this.DialogResult = DialogResult.OK;
                        //将该窗体关闭
                        this.Close();
    
                    }
                    else
                    {
                        MessageBox.Show("用户名或密码错误!");
                    }
                }
                else
                {
                    MessageBox.Show("用户名和密码不能为空!");
                }
            }
    
            private void Login_Load(object sender, EventArgs e)
            {
    
            }
        }
    }

    2.Program.cs 修改主主窗体Login变为Main

    namespace WindowsFormsApplication1
    {
        static class Program
        {
            /// <summary>
            /// 应用程序的主入口点。
            /// </summary>
            [STAThread]
            static void Main()
            {
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
    
                //造一个登录窗体
                Login log = new Login();
    
                if (log.ShowDialog() == DialogResult.OK)
                {
                    Application.Run(new Main(log.username));//main窗体的构造方法
                }
            }
        }
    }

    3.Main窗体

    namespace WindowsFormsApplication1
    {
        public partial class Main : Form
        {
            private string uid;//造一个变量接收Login窗体的值
            private ChinaDA cda;
            public Main()
            {
                InitializeComponent();
            }
            public Main(string username)
            {
                InitializeComponent();
                uid = username;
    
                cda = new ChinaDA();//连接数据库
            }
    
            private void Main_Load(object sender, EventArgs e)
            {
                label1.Text = uid;//把接收到的值传给label1显示一下
    
                //填充省的下拉列表
                FillSheng();
    
                //填充市的下拉列表
                FillShi();
    
                //填充区的下拉列表
                FillQu();
    
            }
    
            private void cmbsheng_SelectedIndexChanged(object sender, EventArgs e)
            {
                //填充市的下拉列表
                FillShi();
    
                //填充区的下拉列表
                FillQu();
            }
    
            private void cmbshi_SelectedIndexChanged(object sender, EventArgs e)
            {
                //填充区的下拉列表
                FillQu();
            }
    
            //填充省的方法
            public void FillSheng()
            {
                List<China> list = cda.Select("0001");
    
                cmbsheng.DataSource = list;
                cmbsheng.DisplayMember = "Name";
                cmbsheng.ValueMember = "Code";
            }
    
            //填充市的方法
            public void FillShi()
            {
                List<China> list = cda.Select(cmbsheng.SelectedValue.ToString());
    
                cmbshi.DataSource = list;
                cmbshi.DisplayMember = "Name";
                cmbshi.ValueMember = "Code";
            }
    
            //填充区的方法
            public void FillQu()
            {
                List<China> list = cda.Select(cmbshi.SelectedValue.ToString());
    
                cmbqu.DataSource = list;
                cmbqu.DisplayMember = "Name";
                cmbqu.ValueMember = "Code";
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                MessageBox.Show(cmbsheng.SelectedValue.ToString());
            }
        }
    }
  • 相关阅读:
    如何很“礼貌”的避免抛出空指针异常
    如何优雅的使用第三方插件写实体类
    IntelliJ IDEA(2019.03)破解教程(亲测实用)
    vue.js 中使用(...)运算符报错的解决方法
    44个Java性能优化
    Spring MVC原理及配置
    Intellij IDEA 从入门到上瘾 图文教程
    JVM系列二 GC策略&内存申请、对象衰老
    Spring MVC国际化配置
    Java性能优化的50个细节(珍藏版)
  • 原文地址:https://www.cnblogs.com/H2921306656/p/5838922.html
Copyright © 2011-2022 走看看