我想要把登陆窗体的用户名和角色显示在第二个窗体上
在登陆窗体我暴露了
public static string loginname;
public static string loginrole;
public string chuanzhiName
{
get
{
return loginname=this.Login_TB.Text.Trim().ToString();
}
set
{
loginname=value;
}
}
public string chuanzhiRole
{
get
{
return loginrole=this.LoginRole_Comb.Text.Trim().ToString();
}
set
{
loginrole=value;
}
}
现在的问题是:我在第二个窗体怎么搞也得不到这个值啊,我该怎么写才可以啊,写在哪个地方啊
写在窗体生成器外面好象this点不出东西..我在第二个窗体的构造函数里写也没用,希望知道的帮我一下,好人一生平安,或者其他的方法也行,只要把值传过去就可以了
希望给个完整的代码.........
在登陆窗体我暴露了
public static string loginname;
public static string loginrole;
public string chuanzhiName
{
get
{
return loginname=this.Login_TB.Text.Trim().ToString();
}
set
{
loginname=value;
}
}
public string chuanzhiRole
{
get
{
return loginrole=this.LoginRole_Comb.Text.Trim().ToString();
}
set
{
loginrole=value;
}
}
现在的问题是:我在第二个窗体怎么搞也得不到这个值啊,我该怎么写才可以啊,写在哪个地方啊
写在窗体生成器外面好象this点不出东西..我在第二个窗体的构造函数里写也没用,希望知道的帮我一下,好人一生平安,或者其他的方法也行,只要把值传过去就可以了
希望给个完整的代码.........
http://blog.csdn.net/knight94/archive/2006/04/06/652394.aspx
{
public static string loginname;
public static string loginrole;
...
}
你在登陆窗体关闭前,将用户名和角色名付给上面两个静态变量。
在其它地方,直接用:
MyLogin.loginname
这是我在登陆窗体的代码
{
MessageBox.Show("登录成功!!");
UserForm uf=new UserForm();
uf.Show();
loginname=this.Login_TB.Text.Trim().ToString();
loginrole=this.LoginRole_Comb.Text.Trim().ToString();
this.Hide();
}
这是我在用户窗体的代码,我把它写在构造函数里面了
public UserForm()//构造函数
{
//
// Windows 窗体设计器支持所必需的
//
InitializeComponent();
LoginForm lf=new LoginForm();
string aa=lf.loginname;
this.label1.Text="'"+aa+"'";
//
// TODO: 在 InitializeComponent 调用后添加任何构造函数代码
//
}还是不行啊
一个新的对象,属性值为空了
在loginform中
{
MessageBox.Show("登录成功!!");
UserForm uf=new UserForm();
uf.Show();
加入对这两个属性的赋值就OK了
uf.loginname = this.Login_TB.Text.Trim().ToString();
uf.loginrole = this.LoginRole_Comb.Text.Trim().ToString();
loginname=this.Login_TB.Text.Trim().ToString();
loginrole=this.LoginRole_Comb.Text.Trim().ToString();
this.Hide();
}
public static string loginname;
public static string loginrole;
当用户点击登陆时
loginname=this.Login_TB.Text.Trim().ToString();
loginrole=this.LoginRole_Comb.Text.Trim().ToString();
用户窗体:
this.label1.Text= 登陆窗体名.loginname;
this.label2.Text= 登陆窗体名.lloginrole;
这段代码有什么用?
loginname=this.Login_TB.Text.Trim().ToString();
loginrole=this.LoginRole_Comb.Text.Trim().ToString();
不是在前面复直了么?
加入对这两个属性的赋值就OK了
uf.loginname = this.Login_TB.Text.Trim().ToString();
uf.loginrole = this.LoginRole_Comb.Text.Trim().ToString();
关键是在用户窗体里写在哪个位置好:
this.label1.Text= 登陆窗体名.loginname;
this.label2.Text= 登陆窗体名.lloginrole;
this好象在方法外面写不行,我想在一调用用户窗体时就显示这个
而FORM窗体里不像WEB窗体有自动载入的,所以说我不知道写哪里
1.可以在UserForm定义两个变量,在窗体show之前赋值。
2.还可以构造UserForm:
public UserForm(string user,string role)//构造函数
{
//
// Windows 窗体设计器支持所必需的
//
InitializeComponent();
//
// TODO: 在 InitializeComponent 调用后添加任何构造函数代码
//
}
在UserForm定义窗体级变量string user,role;
然后在LoginForm中调用UserForm时写:
Form ff =new UserForm(this.Login_TB.Text.Trim().ToString(),this.LoginRole_Comb.Text.Trim().ToString());
ff.Show();
3.如JasonHeung(拥有一切不过就这样笑着哭) 所说
private string loginname = "";
public string chuanzhiName
{
get{ return loginname; }
set{ loginname = value;}
}private string loginrole = "";
public string chuanzhiRole
{
get{ return loginrole; }
set{ loginrole = value;}
}然后登录成功后在你的LoginForm中对这两个属性赋值UserForm userForm = new UserForm();
userForm.chuanzhiName = 你的用户名;
userForm.chuanzhiRole = 你的权限;
userForm.Show();
这样就OK了
private string loginname = "";public UserForm(string loginname, string loginrole)
{
this.loginrole = loginrole;
this.loginname = loginname;
}这样你在LoginForm中就直接可以用构造函数了UserForm userform = new UserForm(你的用户名,你的权限);
windows里窗体里有这个事件From_Load么?
在哪里?提示下
我们公司也不让开任何聊天软件,我还刚毕业,还没打稳根.所以还是很听话的.不开就不开
呵呵,
我记下你的MAIL了