Albert

Albert

  • NA
  • 10
  • 0

Can't make array class data shown in a label

Jan 24 2006 12:00 AM

Hi, I have created a program first as a console application. Then I created a windows application and copied the class data there. It is shown below. In the console application, I have used the printData() method to output the data of an instance of a Person or Athlete class. I want to do the same, but now that output should be in the label. I have created the printWindows data() function but when I call it from the main function in the for loop it doesn't work.

Any help would be appreciated.


namespace windowsPracticingWithClasses
{
///
/// Summary description for Form1.
///
public class Person : System.Windows.Forms.Form
{
///
/// Required designer variable.
///
private System.ComponentModel.Container components = null;

//My instance variables
private string firstName, lastName;
private int age;
private double height, weight;
private string bankName;
private double bankAccount;
private double balance = 0;
private string squareColor;

# region Properties
//Properties
public string FirstName
{
get { return firstName; }
set { firstName = value; }
}
and other properties.....

#endregion
//Custom constructor
public Person(int age, double height, double weight, string bankName, double bankAccount, double balance)
{
InitializeComponent();
this.age = age;
this.height = height;
this.weight = weight;
this.bankName = bankName;
this.bankAccount = bankAccount;
this.balance = balance;
}
      public virtual void printData()
        {
            Console.WriteLine("\nProfile: \n\nAge: " + this.age);
            Console.WriteLine("Height: " + this.height);
            Console.WriteLine("Weight: " + this.weight);
            Console.WriteLine("Bank Name: " + this.bankName);
            Console.WriteLine("Bank Account: " + this.bankAccount);
            Console.WriteLine("Balance: " + this.balance);
        }
        public void printWindowsData()
        {
            label1.Text += "Age: " + this.age;
            label1.Text += "\nHeight: " + this.height;
            label1.Text += "\nWeight: " + this.weight;
            label1.Text += "\nBank Name: " + this.bankName;
            label1.Text += "\nBank Account: " + this.bankAccount;
            label1.Text += "\nBalance: " + this.balance;
        }
class Athlete : Person
{
public string sport;
public Athlete(string sport) : base(23,5.6,120,"Chase",5671234,1000)
{
this.sport = sport;
}
public override void printData()
{
base.printData();
Console.WriteLine("Sport Practicing: " + this.sport);
}
};
class TestClasses
{
[STAThread]
static void Main()
{
Application.Run(new Person());
Person[] person = new Person[5];

person[0] = new Person(22,5.6,120,"Chase",5671234,2000);
person[0].printData();

Person[] athlete = new Athlete[3];

athlete[0] = new Athlete("Martial Arts");
athlete[0].FirstName = "Kim";
athlete[0].LastName = "Chung";
athlete[0].Age = 21;
athlete[0].Height1 = 5.7;
athlete[0].Weight = 130;
athlete[0].BankName = "Citi";
athlete[0].BankAccount = 212312;
athlete[0].Balance = 300;

for (int i = 0; i < athlete.Length; i++)
            {
                athlete[i].printWindowsData();
            }

 

 

 


Answers (2)