登录窗实例 (接收和处理数据) 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(); //关闭当前窗体 ================================================================================================================================= 变量公共类(窗体之间值传递,数据夸窗体传递) 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(); //关闭当前(登录)窗体
相关文章
- C#程序代码中常用的快捷键
- C#委托(delegate)的常用方式- 委托的定义 // 委托的核心是跟委托的函数结构一样 public delegate string SayHello(string c); public delegate string SayHello(string c);:定义了一个公共委托类型 SayHello,该委托接受一个 string 类型的参数 c,并返回一个 string 类型的值。 Main 方法 static void Main(string args) { // 本质上其实就是把方法当作委托的参数 SayHello sayC = new SayHello(SayChinese); Console.WriteLine(sayC("欢迎大家")); SayHello sayE = new SayHello(SayEgnlish); Console.WriteLine(sayE("Welcome to")); // 简单的写法:必须类型一样 SayHello s1 = SayChinese; SayHello s2 = SayEgnlish; Console.WriteLine(s1("好好好")); Console.WriteLine(s2("Gooood")); // 最推荐 SayHello ss1 = con => con; Console.WriteLine(ss1("niiiice")); // 匿名委托:一次性委托 SayHello ss3 = delegate(string s) { return s; }; Console.WriteLine(ss3("说中国话")); } 常规实例化委托 SayHello sayC = new SayHello(SayChinese);:创建了一个 SayHello 委托的实例 sayC,并将 SayChinese 方法作为参数传递给委托的构造函数。 Console.WriteLine(sayC("欢迎大家"));:通过委托实例调用 SayChinese 方法,并输出结果。 同理,SayHello sayE = new SayHello(SayEgnlish); 和 Console.WriteLine(sayE("Welcome to")); 是对 SayEgnlish 方法的委托调用。 简化的委托赋值方式 SayHello s1 = SayChinese; 和 SayHello s2 = SayEgnlish;:当委托类型和方法签名一致时,可以直接将方法赋值给委托变量,无需使用 new 关键字。 Console.WriteLine(s1("好好好")); 和 Console.WriteLine(s2("Gooood"));:通过委托实例调用相应的方法。 使用 Lambda 表达式实例化委托 SayHello ss1 = con => con;:使用 Lambda 表达式创建委托实例 ss1,con => con 表示接受一个参数 con 并返回该参数本身。 Console.WriteLine(ss1("niiiice"));:通过委托实例调用 Lambda 表达式。 匿名委托 SayHello ss3 = delegate(string s) { return s; };:使用匿名委托创建委托实例 ss3,delegate(string s) { return s; } 是一个匿名方法,直接在委托实例化时定义了方法体。 Console.WriteLine(ss3("说中国话"));:通过委托实例调用匿名方法。 委托引用的方法定义 public static string SayChinese(string content) { return content; } public static string SayEgnlish(string content) { return content; } public static string SayChinese(string content) 和 public static string SayEgnlish(string content):定义了两个静态方法,分别接受一个 string 类型的参数 content,并返回该参数本身。这两个方法的签名与 SayHello 委托一致,可以被 SayHello 委托引用。 常规的委托实例化、简化的赋值方式、Lambda 表达式和匿名委托。委托在 C# 中是一种强大的机制,它允许将方法作为参数传递,实现了代码的灵活性和可扩展性。
- C#移动无标题栏窗体的四种代码
- C# Winform多窗体&&构造函数传值
- C#中实现无标题栏窗体拖动的代码
- 深入解析C#开发常用设计模式:定义、使用场景与代码示例
- C# 窗体常用API函数 应用程序窗体查找
- C#代码利用MongoDB中Group聚合函数查询
- visual studio 2005/2010/2013/2015/2017 vc++ c#代码编辑常用快捷键-代码编辑器的展开和折叠
- C#:TXT文件读写(VS窗体+代码)