C#多窗体怎么使用同一个对象数组
我定义了一个类User里面定义了四条属性和一个对象数组,都是注册账号用的,还在这个类里写了两个方法,一个是注册,一个是登录代码如下:publicstringName{ge...
我定义了一个类User里面定义了四条属性和一个对象数组,都是注册账号用的,还在这个类里写了两个方法,一个是注册,一个是登录代码如下:
public string Name { get; set; }
public string CardID { get; set; }
public string Email { get; set; }
public string Pwd { get; set; }
User[] users = new User[10];
public bool Register(User user)//注册
{
int i = 0;
for (; i < users.Length; i++)
{
if (users[i] == null)
{
users[i] = user;
break;
}
}
if (i == users.Length)
{
return false;
}
else
{
return true;
}
}
public int Login(string email,string pwd)//登录
{
int i = 0;
for (; i < users.Length; i++)
{
if (users[i] != null && users[i].Email == email)
{
break;
}
else
{
continue;
}
}
if (i == users.Length)//数组没有数据
{
return 1;
}
else if (users[i].Pwd.Equals(pwd))//密码不正确
{
return 2;
}
else//用户名不存在
{
return 3;
}
}
在登录窗体中点击注册使用如下代码跳转到注册窗体
frmRegister register = new frmRegister();
register.Show();//跳转到注册窗体
然后在注册窗体中调用注册方法进行注册,代码如下
User user = new User();
user.Register();
然后手动关闭注册窗体,在登录窗体中调用登录方法进行登录,代码如下
User user = new User();
user.Login();
进过测试登录窗体中Login方法的返回值为1,我推测对象数组里数据被清空了
求大神搭救 展开
public string Name { get; set; }
public string CardID { get; set; }
public string Email { get; set; }
public string Pwd { get; set; }
User[] users = new User[10];
public bool Register(User user)//注册
{
int i = 0;
for (; i < users.Length; i++)
{
if (users[i] == null)
{
users[i] = user;
break;
}
}
if (i == users.Length)
{
return false;
}
else
{
return true;
}
}
public int Login(string email,string pwd)//登录
{
int i = 0;
for (; i < users.Length; i++)
{
if (users[i] != null && users[i].Email == email)
{
break;
}
else
{
continue;
}
}
if (i == users.Length)//数组没有数据
{
return 1;
}
else if (users[i].Pwd.Equals(pwd))//密码不正确
{
return 2;
}
else//用户名不存在
{
return 3;
}
}
在登录窗体中点击注册使用如下代码跳转到注册窗体
frmRegister register = new frmRegister();
register.Show();//跳转到注册窗体
然后在注册窗体中调用注册方法进行注册,代码如下
User user = new User();
user.Register();
然后手动关闭注册窗体,在登录窗体中调用登录方法进行登录,代码如下
User user = new User();
user.Login();
进过测试登录窗体中Login方法的返回值为1,我推测对象数组里数据被清空了
求大神搭救 展开
2个回答
展开全部
软糖来告诉你把。
你在定义一个全局静态类,在里面的属性也用public static
然后在任何窗体都能调用这个静态对象
//注意此代码放到命名空间下而不要放到其他class的内部,最好单独新建一个class文件
public static class G {
public static User user;
//把初始化放到程序启动时,这两句话选一个使用。
//public static User user = new User();
}
//注意不管多少窗体都只调用new实例化一次,否则会被清空。
G.user = new User();
//在注册窗体中调用注册方法。
G.user.Register();
//在登录窗体中调用登录方法。
G.user.Login();
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询