登录窗体与主窗体的传参

20130627065507 马上就是假期了,假期玩点什么呢?刚刚有了SQL Server这门课,以前做过个点名软件,当然没有数据库,功能有限,打算假期做个功能更强大的班级点名软件。 昨天晚上做了两个窗口,一个登录窗口,一个主窗口,我们看一看代码啊 项目里的Program.cs来先启动,登录窗口,再启动主窗口 namespace 点兵点将2._0 { static class Program { /// <summary> /// The main entry point for the application. /// </summary> [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); LoginForm loginForm = new LoginForm(); if (loginForm.ShowDialog() == DialogResult.OK) { Application.Run(new MainForm()); } } } } 但是突然卡住了,为什么呢?登录窗口验证成功以后,主窗体怎么知道是谁登录的呢?怎么传参过去呢? 一下脑子空白了,突然看到 Application.Run(new MainForm());里面的MainForm(),括号,因为我是自己学的C语言,一直是习惯面向过程的,我还是喜欢叫函数,不喜欢叫方法,那不是函数吗,括号里往往加参数,构造函数四个大字浮现在眼前。 什么是构造函数呢?在这里不详细解释构造函数了,就是在new的时候做初始化的。 在MainForm.cs中 public partial class MainForm : Form { public string zhanghao = "未知账号"; public string xingming = "未知账号"; public string kemu = "未知账号"; public MainForm(string zh,string xm,string km) { InitializeComponent(); zhanghao = zh; xingming = xm; kemu = km; } } 构造函数public MainForm()中加如几个需要传的参数,把参数赋值到主窗体的函数中,就OK了 一下豁然开朗啊,还是写的少啊,怎么就没一下想出来构造函数呢?