我正在使用.net framework 3.5(visual studio 2008)开发Windows移动应用程序。我需要在移动应用程序中使用静态变量,如网站中的会话.Below代码用于我的登录表单并提供登录表单我使用静态方法并声明了一个静态变量。请参阅下面的代码。
public partial class Login : Form
{
private void btnSubmit_Click_1(object sender, EventArgs e)
{
var username = txtUsername.Text;
var password = txtPassword.Text;
//do some other task with username & password
}
public static class loginInfo
{
public static string username;
}
}
然后我在同一个应用程序的另一个页面中使用相同的静态变量,我可以看到它们在消息框对话框中没有值。参见下面的代码
public partial class SettingsForm : Form
{
private void SettingsControl_SelectedIndexChanged(object sender,EventArgs e)
{
//other code comes here
MessageBox.Show(loginInfo.username);
}
}
上面的代码显示一个空的对话框,但没有显示用户名。
我需要在本地保存用户名并检查它是否存在,我可以允许该设置页面,否则需要隐藏会议页面。
请指导我做错了什么。
答案 0 :(得分:0)
代码var username = txtUsername.Text;
正在将局部变量设置为用户名编辑控件中的值。一旦方法完成并且永远丢失,该变量就超出了范围。
我相信你要做的就是:
public partial class Login : Form
{
private void btnSubmit_Click_1(object sender, EventArgs e)
{
loginInfo.username = txtUsername.Text;
loginInfo.password = txtPassword.Text;
//do some other task with username & password
}
public static class loginInfo
{
public static string username;
public static string password;
}
}