日期:2014-05-20  浏览次数:20976 次

C# 2005中Dialog窗体返回一些数据的问题,(菜鸟级),请帮忙!剩下10分了:(
我在C#   2005中,启动主窗体frmMain,同时在frmMain的Load事件中加载登录窗体frmLogin,方法是ShowDialog().
现在我在frmLogin中处理一些数据,如操作人员、注册日期等,怎么样在frmLogin执行Close()的时候把这些数据传给frmMain?
frmMain中的一段代码是这样的:

        //显示登录窗口
                private   void   ShowLogin()
                {
                        frmLogin   LoginFrm   =   new   frmLogin();
                        DialogResult   dr   =   LoginFrm.ShowDialog();
                        if   (dr   ==   DialogResult.OK)
                        {
                                //TODO:这里写登录窗体成功登录并关闭后要处理的代码。
                        }
                        else
                        {
                                Close();
                        }
                }

那样的代码怎么写呢?

------解决方案--------------------
举个例子:
//登录窗体中定义name,并把登录id文本框的文本赋值到name
public class frmLogin : Form
{
//定义一个string,并赋值后,可以作为类frmLogin的属性使用
public static string name;
private void btn_Login_Click(object sender, System.EventArgs e)
{
name = loginidTextBox.Text;
}
}

//主窗体中调用
public class frmMain : Form
{
private void MainFrm_Load(object sender, System.EventArgs e)
{
frmLogin LoginFrm = new frmLogin();
LoginFrm.ShowDialog();
if(LoginFrm.DialogResult == DialogResult.OK)
{
//使用类frmLogin的实例LoginFrm的name属性进行赋值
string newName = LoginFrm.name;
}
}
}
------解决方案--------------------
參看窗體間的傳值。
http://blog.csdn.net/tjvictor/archive/2006/06/23/824617.aspx