Я разрабатываю приложение для Windows Mobile с использованием.net framework 3.5 (visual studio 2008). Мне нужно использовать статические переменные в мобильном приложении, например, сеанс на веб-сайте. Код для кода для моей формы входа и ввода формы входа я использовал статический метод и объявлял статическая переменная. См. ниже код.
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);
}
}
приведенный выше код отображает пустое диалоговое окно и не показывает имя пользователя.
Мне нужно сохранить имя пользователя локально и проверить, существует ли оно, я могу позволить этой странице настроек иначе скрывать страницу заседаний.
Пожалуйста, объясните мне, что я делаю неправильно.
Код 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;
}
}