C# 如何将变量列表传递给另一个winform
假设我有这个代码。如何将C# 如何将变量列表传递给另一个winform,c#,winforms,C#,Winforms,假设我有这个代码。如何将smallGroups传递到UpdatePlayer表单。我需要能够将生成的数据带到var列表中,并在UpdatePlayer中使用它来填充combobox public class GroupsPlayers { public string GroupID; public string GroupName; } public void Groups() { var smallGroups = new List<GroupsPlayers&
smallGroups
传递到UpdatePlayer
表单。我需要能够将生成的数据带到var列表中,并在UpdatePlayer
中使用它来填充combobox
public class GroupsPlayers
{
public string GroupID;
public string GroupName;
}
public void Groups() {
var smallGroups = new List<GroupsPlayers>();
while(rd.Read())
{
var currentPlayer = new GroupsPlayers() {
};
smallGroups.Add(currentPlayer);
}
MessageBoxResult userResponse = MessageBox.Show(msgBoxMsg, "Groups Manager", MessageBoxButtons.YesNo);
if(userResponse == DialogResult.Yes)
{
UpdatePlayer frmPlayers = new UpdatePlayer(this, smallGroups);
}
}
public类GroupsPlayers
{
公共字符串GroupID;
公共字符串组名;
}
公共组(){
var smallGroups=新列表();
while(rd.Read())
{
var currentPlayer=newgroupsplayers(){
};
添加(currentPlayer);
}
MessageBoxResult userResponse=MessageBox.Show(msgBoxMsg,“组管理器”,MessageBoxButtons.YesNo);
if(userResponse==DialogResult.Yes)
{
UpdatePlayer frmlayers=新的UpdatePlayer(这是小型组);
}
}
如果GroupsPlayers类型在您的第二个表单中是可访问的(您已将其公开),则只需通过适当的构造函数传递此集合即可。检查我下面的代码,我认为它足够简单。如果您有任何问题,请在评论中提问
在第二种形式中,创建构造函数:
public class UpdatePlayer : Form
{
List<GroupsPlayers> _GroupPlayers;
UpdatePlayer (List<GroupsPlayers> GroupPlayers)
{
_GroupPlayers = GroupPlayers; // here You are "Catching" the value You have passed in first form and assigning it to _GroupPlayers property
}
}
关于“var”,需要知道的重要一点是,它不是一种变量类型。它的类型是在编译时静态确定的
var smallGroups = new List<GroupsPlayers>();
var smallGroups=new List();
与
List<GroupsPlayers> smallGroups = new List<GroupsPlayers>();
List smallGroups=new List();
这意味着您的UpdatePlayer表单必须将其列表或子类作为其构造函数中的参数。例如,它可以使用IList“var”只是用来保存用于删除的输入,或者使重构更干净。上面的代码有什么问题?UpdatePlayer中是否没有用于存储小型组的属性?然后在加载期间将该属性设置为组合框的数据源?
List<GroupsPlayers> smallGroups = new List<GroupsPlayers>();