2 svar
789 visningar
DeadSpace 2 – Fd. Medlem
Postad: 5 nov 2020 13:04 Redigerad: 5 nov 2020 14:47

GUI,

I denna uppgift ska du bygga ut Joppes hundar, med ett grafiskt gränssnitt
Denna Bild är exemplarBild från Skolan, och är inte min. Mitt mål är att kunna trycka på knappen Feed så kommer texten(vilket djur man nu ska mata

genom en switch sats 1/2/3.
Får dock inte till koden där Feed printar ut i Answer möjligheterna, programmet vill att jag gör en return type.
Men jag vill inte retunera ett värde. Målet just nu är bara att kunna trycka på Feed och att textrutan fylls av
Feed animal x



List<Animal> Pet_List = new List<Animal>();

Pet_List.Add(new Dog(4, "Koretake", "steak", "Corgi", true));
Pet_List.Add(new Puppy(0, 2, "Hiro", "milk", "English Bulldog", true));
Pet_List.Add(new Cat(10, "Snowball", "mouse", "ScottishFold", true));
public string List_Animals()
{
foreach (var pet in Pet_List)
{
Console.WriteLine("------------------------------------------");
Console.WriteLine(pet);
}
return pet;
}
Dessa bilder är från vart jag är just nu.
Jag vet att jag har inget skrivet i FeedButton, Då alla mina andra försök har inte lyckas valde jag tomt istället.

 

Jag förstår att man inte kan ha Console.WriteLine då Det är ett Window.Form Men vet inte vad jag ska byta ut emot det.

Koden för Feed
public void Feed()
{
int feedNum = -1;
// we do a Do while loop with a given input-1 so it loops untill player gives us a right input
// same with all other loops
do
{
Console.WriteLine("------------------------------------------");
Console.WriteLine("Chose an animal you'll like to feed!");
Console.WriteLine("Press |1| to feed {0}", Pet_List[0].Name);
Console.WriteLine("Press |2| to feed {0}", Pet_List[1].Name);
Console.WriteLine("Press |3| to feed {0}", Pet_List[2].Name);
Console.WriteLine("Press |0| To exit Menu");
try { feedNum = int.Parse(Console.ReadLine()); }
catch (SystemException)
{
Console.WriteLine("Enter a valid Input");
}
switch (feedNum)
{
case 0:
break;
case 1:
Pet_List[0].Eat(Pet_List[0].FavFood);
break;
case 2:
Pet_List[1].Eat(Pet_List[1].FavFood);
break;
case 3:
Pet_List[2].Eat(Pet_List[2].FavFood);
break;
default:
break;
}
} while (feedNum != 0);
}

macson 320 – Admin
Postad: 5 nov 2020 23:03 Redigerad: 5 nov 2020 23:07

Hej!

Det är lite oklart vad du försöker göra? Men i WinForms är saker event-baserade på ett annat sätt än i console-program. Alltså istället för loops så brukar man lyssna på events (knapp klickas, textbox ändras osv).

Vad vill du ska hända när man trycker på feed? Vad är tanken med loopen som du har som exempel? 

Aerius 504 – Fd. Medlem
Postad: 6 nov 2020 09:37

Om du tänker dig att varje knapp/ruta i windows fönstret är en egen klass. Till exempel knappen "Feed Animal" kan vara en knapp så när du klickar på knappen Feed Animal i windows fönstret hanteras det i "Feed Animal" klassen.

Svara
Close