• WinForm 更换主窗体的例子


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

    1.主界面Login

     1 namespace WindowsFormsApplication1
     2 {
     3     public partial class Login : Form
     4     {
     5         public string username;//定义一个变量给子窗体传值
     6         public Login()
     7         {
     8             InitializeComponent();
     9         }
    10 
    11         private void button1_Click(object sender, EventArgs e)
    12         {
    13             //取出用户名和密码
    14             string uid = txtuid.Text;
    15             string pwd = txtpwd.Text;
    16 
    17             if (uid != "" && pwd != "")
    18             {
    19                 LoginDA da = new LoginDA(); //连接数据库
    20                 if (da.DengLu(uid, pwd)) //登录查询
    21                 {
    22 
    23                     //将用户名赋值给成员变量username
    24                     username = uid;
    25                     //将该窗体的返回值变为OK
    26                     this.DialogResult = DialogResult.OK;
    27                     //将该窗体关闭
    28                     this.Close();
    29 
    30                 }
    31                 else
    32                 {
    33                     MessageBox.Show("用户名或密码错误!");
    34                 }
    35             }
    36             else
    37             {
    38                 MessageBox.Show("用户名和密码不能为空!");
    39             }
    40         }
    41 
    42         private void Login_Load(object sender, EventArgs e)
    43         {
    44 
    45         }
    46     }
    47 }

    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());
            }
        }
    }
  • 相关阅读:
    spring
    google-c-style
    process想停就停,真爽
    mytop
    Java 图片设置圆角(设置边框,旁白)
    当setTimeout遇到闭包
    FreeMarker辅助
    ImageIO.wtrie生成jpg图片质量损失方案:BufferedImage生成jpg图片文件流
    从BufferedImage到InputStream,实现绘图后进行下载(生成二维码图片并下载)
    使用Javascript 实现类
  • 原文地址:https://www.cnblogs.com/ShenG1/p/5833984.html
Copyright © 2020-2023  润新知