我应该在哪里放置一个数组,以便 windows 表单控件可以访问它?
Where do I put an array so that It is accessible to windows form controls?
我正在开发 C# windows 表单应用集换式纸牌游戏 collection 经理
我有一张卡片 class,我正在尝试创建一个卡片数组 object 来表示集合中的每张卡片。从那里,我希望能够在表单文本框、标签、图片框等上搜索和显示卡片详细信息
我试过将数组放在 form1.cs 和 program.cs 中,在不同的 class 内部和外部。数组似乎在单击事件处理程序范围内的唯一位置是在其中声明时。
我在哪里可以初始化这个数组,以便在整个程序和表单事件处理程序的范围内访问它?我对使用 windows 形式 object 的面向编程非常陌生
Card class 的构造函数采用一个 int 参数并初始化“收集器编号”
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
const int NumberOfCardsInSet = 3;
Card[] Set = new Card[NumberOfCardsInSet];
for (int iii = 0; iii < NumberOfCardsInSet; iii++)
{ Set[iii] = new Card(iii + 1); }
}
}
Card 的构造函数采用一个 int 参数来设置集合数。在此之后,卡 object 可以访问,我可以设置它们的字段..但是在这里:
private void button1_Click(object sender, EventArgs e)
{
//test button
DisplayCard(Set[0]); //error: name "set" doesnt exist in current context
}
public void DisplayCard(Card selectedCard)
{
myDCollectorNoTB.Text = selectedCard.CollectorNum.ToString();
myDNameTB.Text = selectedCard.Name.ToString();
myDRarityTB.Text = selectedCard.CardRarity.ToString();
myDCostTB.Text = selectedCard.Cost.ToString();
}
数组需要在class范围内声明(作为成员,就像构造函数或button1_Click和DisplayCard方法一样)。基于您的代码:
public partial class Form1 : Form
{
private const int NumberOfCardsInSet = 3;
private Card[] Set = new Card[NumberOfCardsInSet];
public Form1()
{
InitializeComponent();
for (var i = 0; i < NumberOfCardsInSet; ++i)
{
Set[i] = new Card(i + 1);
}
}
//your button1_Click and DisplayCard methods go here
}
我正在开发 C# windows 表单应用集换式纸牌游戏 collection 经理
我有一张卡片 class,我正在尝试创建一个卡片数组 object 来表示集合中的每张卡片。从那里,我希望能够在表单文本框、标签、图片框等上搜索和显示卡片详细信息
我试过将数组放在 form1.cs 和 program.cs 中,在不同的 class 内部和外部。数组似乎在单击事件处理程序范围内的唯一位置是在其中声明时。
我在哪里可以初始化这个数组,以便在整个程序和表单事件处理程序的范围内访问它?我对使用 windows 形式 object 的面向编程非常陌生
Card class 的构造函数采用一个 int 参数并初始化“收集器编号”
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
const int NumberOfCardsInSet = 3;
Card[] Set = new Card[NumberOfCardsInSet];
for (int iii = 0; iii < NumberOfCardsInSet; iii++)
{ Set[iii] = new Card(iii + 1); }
}
}
Card 的构造函数采用一个 int 参数来设置集合数。在此之后,卡 object 可以访问,我可以设置它们的字段..但是在这里:
private void button1_Click(object sender, EventArgs e)
{
//test button
DisplayCard(Set[0]); //error: name "set" doesnt exist in current context
}
public void DisplayCard(Card selectedCard)
{
myDCollectorNoTB.Text = selectedCard.CollectorNum.ToString();
myDNameTB.Text = selectedCard.Name.ToString();
myDRarityTB.Text = selectedCard.CardRarity.ToString();
myDCostTB.Text = selectedCard.Cost.ToString();
}
数组需要在class范围内声明(作为成员,就像构造函数或button1_Click和DisplayCard方法一样)。基于您的代码:
public partial class Form1 : Form
{
private const int NumberOfCardsInSet = 3;
private Card[] Set = new Card[NumberOfCardsInSet];
public Form1()
{
InitializeComponent();
for (var i = 0; i < NumberOfCardsInSet; ++i)
{
Set[i] = new Card(i + 1);
}
}
//your button1_Click and DisplayCard methods go here
}