登录窗实例 (接收和处理数据) String Lusername = this.usernameDL.Text; // 获取并存储控件里面的内容 String Lpassword = this.passwordDL.Text; if (Lusername.Equals("") || Lpassword.Equals("")) //判断输入是否为空 MessageBox.Show("用户名或密码不能为空"); else if (Lusername.Equals(BL.username) && Lpassword.Equals(BL.password)) //判断输入窗体的数据与已通过注册窗体指定的值是否一致,一致则通过 MessageBox.Show("登录成功"); else MessageBox.Show("用户名或密码错误,请重新输入"); //错误处理 ========================================================================================================================== 注册窗 (实现数据输入和传值) BL.username = this.textBox1.Text; //通过已定义的公共变量传值 BL.password = this.textBox2.Text; BL.phone = this.textBox3.Text; BL.email = this.textBox4.Text; MessageBox.Show("注册成功"); this.Close(); //关闭当前窗体 ================================================================================================================================= 在Program.cs中定义主变量公共类(窗体之间值传递,数据夸窗体传递) using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace WindowsFormsApplication1 { class BL { public static string username; /*为方便不同床体之间传值,专门新建一个类来存储公共(静态变量)通过CLASS class .公共变量名引用*/ public static string password; public static string phone; public static string email; } } --------------------------------------------------------------------------------------------------------------------------- 显示(弹出)新窗口 方法1 FormMAIN fm = new FormMAIN(); fm.ShowDialog(); 方法2 new Form_zc().Show(); //弹出非模态子窗体 new Form_zc().ShowDialog(); //弹出模态子窗体 ---------------------------------------------------------------------------------------------------------------------------- 显示主窗体之前显示其他(验证)前置窗体并进行数据处理 Program.cs Application.EnableVisualStyles(); //MAIN函数原代码,不用修改 Application.SetCompatibleTextRenderingDefault(false); //MAIN函数原代码,不用修改 Form_login login = new Form_login(); //显示窗口—登录 login.ShowDialog(); //显示窗口—登录
if (login.DialogResult == DialogResult.OK) //判断前置窗口返回
Application.Run(new FormMAIN()); //启动主窗口(FormMAIN) else return; 配套前置窗口代码 this.DialogResult = DialogResult.OK; //向主函数返回一个登录验证通过的对话框状态 this.Close(); //关闭当前(登录)窗体