Array en PictureBoxes

Status
Niet open voor verdere reacties.

C#HelpMe

Gebruiker
Lid geworden
5 jan 2010
Berichten
20
Is hier iemand die goed overweg kan met array's en pictureboxes?

Ik heb namelijk het volgende probleem: Ik wil een speelveld krijgen dat bestaat uit vakken. Hierna heb ik dus bijvoorbeeld een int[,] Grid = new int[2, 2]; met Grid[0,0] en Grid[0,1] en Grid[1,0] en Grid[1,1]. Maar hoe kan ik dit voor elkaar krijgen?
 
Laatst bewerkt door een moderator:
Beste C#HelpMe,

Het forum is er niet voor niets, wanneer mensen willen reageren kan dat hier.
Werkt hetzelfde als mail en zo houden we de berichten centraal.

Dat is wel zo prettig voor andere mensen die met een soortgelijk probleem zitten.

Met vriendelijke groet,
Stefan (Tha Devil)
Moderator Helpmij.nl
 
Dit moet je zeker wel op weg helpen.

[CPP] private void Form1Load(object sender, EventArgs e)
{
List<PictureBox> tegels = new List<PictureBox>();

const int speelveldBreedte = 8;
const int speelveldHoogte = 8;
const int tegelBreedte = 50;
const int tegelHoogte = 50;

for (int i = 0; i < speelveldHoogte; i++)
{
for (int j = 0; j < speelveldBreedte; j++)
{
PictureBox p = new PictureBox
{
Width = tegelBreedte,
Height = tegelHoogte,
Location = new Point(j*tegelBreedte, i*tegelHoogte),
BorderStyle = BorderStyle.FixedSingle
};
tegels.Add(p);
Controls.Add(p);
}
}
}
[/CPP]

Object-oriented ::

[CPP] public class Speelveld : Panel
{
public static Panel MaakSpeelveld(int breedte, int hoogte)
{
const int tegelBreedte = 50;
const int tegelHoogte = 50;

Speelveld speelveld = new Speelveld { Width = breedte * tegelBreedte, Height = hoogte * tegelHoogte };

for (int i = 0; i < hoogte; i++)
{
for (int j = 0; j < breedte; j++)
{
Tegel t = new Tegel(j * tegelBreedte, i * tegelHoogte) { BorderStyle = BorderStyle.FixedSingle, Width = tegelBreedte, Height = tegelHoogte };
speelveld.Controls.Add(t);
}
}
return speelveld;
}
}

public class Tegel : PictureBox
{
public Tegel(int x, int y)
{
Location = new Point(x, y);
Tegels.Add(this);
}
}

public class Tegels
{
private static readonly List<Tegel> tegelList = new List<Tegel>();

public static void Add(Tegel t)
{
tegelList.Add(t);
}

public static void Remove(Tegel t)
{
tegelList.Remove(t);
}

public IEnumerable<Tegel> GetAll()
{
return tegelList;
}
}[/CPP]
[CPP]private void Form1Load(object sender, EventArgs e)
{
Controls.Add(Speelveld.MaakSpeelveld(8, 8));
}[/CPP]
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan