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,我推测对象数组里数据被清空了
求大神搭救
展开
 我来答
魔法软糖&#x2122;
2019-05-24 · TA获得超过837个赞
知道小有建树答主
回答量:822
采纳率:94%
帮助的人:146万
展开全部

软糖来告诉你把。

你在定义一个全局静态类,在里面的属性也用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();
暴走财源变变人3331
2019-05-22 · TA获得超过3467个赞
知道大有可为答主
回答量:8278
采纳率:84%
帮助的人:274万
展开全部
1.可以将数组定义成public static
2.在form3中定义一个属性:public static Form5 pub_form =null;pub_form可以在form3直接直接调用。
追问
??
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式