Jag sitter i en prodjektgrupp för att bygga ett Yatzy spel, i detta spel finns det ett antal forms, två av dem jobbar jag med, men jag har ett problem. Du vill alltså skicka över spelarinformation från ett formulär till ett annat?funktion för att skicka en variabel mellan formulär i C#?
Jag har hand om själva spelare delen i spelet, vilket betyder att i min form ska du välja vilken avatar du vill ha på din spelare och vad spelarens namn ska vara.
Nu skulle jag helst vilja lägga avataren i en array variabel och namnet i en array variabel och sedan skicka det över till formen för själva spelplanen.
För att länka ihop två forms så att de öppnas från varandra finns ju funktionen
Form form1 =new Form1();
form.Show();
Men jag letat runt lite i MSDN libraryt men inte hittat nått som låter riktigt rätt, finns det nån som vet om det över huvudtaget går och i så fall hur gör man? Sv: funktion för att skicka en variabel mellan formulär i C#?
Jag skulle rekommendera att du gör en spelarklass med informationen istället för att hålla på med arrayer. Denna spelarklass kan du sedan lägga in i någon slags lista (collection/array eller någon annan typ). Är din avatar av typen bitmap? Isf skulle spelarklassen kunna se ut såhär:
<code>
Public Class YatzyPlayer
Private m_Namn as string
Private m_Avatar as bitmap
Public property Namn as string
Get och Set
End Property
Public property Avatar as bitmap
Get och Set
End Property
End class
</code>
Att föra över informationen till formulär 2 kan göras på flera sätt. Om det krävs spelare i formulär 2 så kan du t.ex. skicka in dem i kontruktorn (sub new). Typen PlayerList i exemplet nedan är en lista med YatzyPlayer som jag nämnde ovan.
<code>
Private Players as PlayerList
Public Sub New(Players as PlayerList)
me.Players=Players
End Sub
</code>
Mvh
Peter