在登录窗口中要让客户输入如下的一些参数,要带回到主程序中,可我怎么才能拿到主程序中呢?试了好多方法不管用。参数结构如下:
public class Config
{
public string password;
public string user;
public string server;
public string station;
public bool sip;
public bool remote;}
我现在是在Mainform中定义了Config, 在MainForm的load中加入以下语句: frmLogin oFrmLogin = new frmLogin();
oFrmLogin.ShowDialog();
if(oFrmLogin.DialogResult == DialogResult.Cancel)
{
//exi application
oFrmLogin = null;
Application.Exit();
}
else
{
//asdfasdf///
}
...
这样虽然能满足要求,但是特难看,先是显示主窗口再弹出登录窗口,看起来特难受,能不能做成先显示登录窗口,登录结束后再显示主窗口,而且登录窗口中输入的内容在主程序中也可以得到。谢谢!
public class Config
{
public string password;
public string user;
public string server;
public string station;
public bool sip;
public bool remote;}
我现在是在Mainform中定义了Config, 在MainForm的load中加入以下语句: frmLogin oFrmLogin = new frmLogin();
oFrmLogin.ShowDialog();
if(oFrmLogin.DialogResult == DialogResult.Cancel)
{
//exi application
oFrmLogin = null;
Application.Exit();
}
else
{
//asdfasdf///
}
...
这样虽然能满足要求,但是特难看,先是显示主窗口再弹出登录窗口,看起来特难受,能不能做成先显示登录窗口,登录结束后再显示主窗口,而且登录窗口中输入的内容在主程序中也可以得到。谢谢!
/// 是否通过登陆验证
/// </summary>
public bool IsLogin
{
get {return m_IsLogin;}
}
--------------------------------------------------
2. 修改Main() 如下:[STAThread]
static void Main()
{
frmLogin oFrmLogin = new frmLogin();
oFrmLogin.ShowDialog(); if(fl.IsLogin)
{
// 获取客户输入参数 Application.Run(new Mainform());
}
}
我觉得这样看着比较舒服
static void Main()
{
frmLogin oFrmLogin = new frmLogin();
if(DialogResult.OK == oFrmLogin.ShowDialog())
{
// 获取客户输入参数 // 检查密码 if (LoginOK)
{
Application.Run(new Mainform());
}
}
}
{
HttpCookie MyCookie;
MyCookie = new HttpCookie("PiUsersInfo");
MyCookie.Values.Add("user", t_login.name);
MyCookie.Values.Add("right", t_login.right.ToString() );
Response.AppendCookie(MyCookie); //HttpCookie QuoteCookie=new HttpCookie["QuoteCookie"];
//QuoteCookie.Value["QuoteUser"]= f_login.c_login(Txt_User.Text.Trim(),Txt_Pass.Text.Trim()).name;//用户名
//QuoteCookie.Value["QuoteRight"]= f_login.c_login(Txt_User.Text.Trim(),Txt_Pass.Text.Trim()).right;//权限
//HttpContext.Current.Response.Cookies.Add(QuoteCookie); Page.Response.Write("<script> window.opener=null;window.returnValue =1;window.close() </script>");//关闭此窗口,并返回值1,表示登录成功
}
UserName = this.textBox1.Text.Trim();在主窗体中引用即可。比如子窗体中有一个文本框1
this.textBox1.Text = FrmLogin.UserName;