博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WinForm 更换主窗体的例子
阅读量:6239 次
发布时间:2019-06-22

本文共 3733 字,大约阅读时间需要 12 分钟。

做一个登录窗口,登录成功时关闭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                     //将用户名赋值给成员变量username24                     username = uid;25                     //将该窗体的返回值变为OK26                     this.DialogResult = DialogResult.OK;27                     //将该窗体关闭28                     this.Close();29 30                 }31                 else32                 {33                     MessageBox.Show("用户名或密码错误!");34                 }35             }36             else37             {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    {        ///         /// 应用程序的主入口点。        ///         [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
list = cda.Select("0001"); cmbsheng.DataSource = list; cmbsheng.DisplayMember = "Name"; cmbsheng.ValueMember = "Code"; } //填充市的方法 public void FillShi() { List
list = cda.Select(cmbsheng.SelectedValue.ToString()); cmbshi.DataSource = list; cmbshi.DisplayMember = "Name"; cmbshi.ValueMember = "Code"; } //填充区的方法 public void FillQu() { List
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()); } }}

 

转载于:https://www.cnblogs.com/ShenG1/p/5833984.html

你可能感兴趣的文章
聊聊Elasticsearch的ProcessProbe
查看>>
首页Activity重复启动问题
查看>>
人工智能+建筑,会产生什么?
查看>>
防抖与节流
查看>>
Cocos2dx源码记录(9) CCQuadCommand
查看>>
浅谈Promise怎么取消或中断
查看>>
JavaScript——执行环境及作用域
查看>>
C++ STL之stack栈
查看>>
【MySQL (6) | 详细分析MySQL事务日志redo log】
查看>>
Linux远程管理常用命令
查看>>
魅族mx5详细打开usb调试模式的步骤
查看>>
ConstraintLayout的使用教程
查看>>
前后端俱全的 具有聊天功能的 react 项目
查看>>
Redux reselect
查看>>
Spring 通过xml获得容器的三种方法比较
查看>>
MySQL索引面试题
查看>>
Systemd 入门教程:命令篇
查看>>
JS 常用函数垫片
查看>>
快速批量检查所有虚拟机的各项指标
查看>>
【软件开发底层知识修炼】五 gcc-C语言编译器
查看>>