Avatar billede maddog2k1 Nybegynder
16. november 2005 - 13:12 Der er 13 kommentarer

Billede i Form2 skal ændres når der trykkes på knap i Form3

Hej, Sidder og døjer med følgende:

Jeg har et program som indeholder 3 forms. form1 er en login screen og form 2 er så en telefonbog, hvor man bla. kan indsætte (motiv) til hver bruger når jeg så trykker på motiv åbnes Form3 hvor jeg kan vælre imellem 3 motiver pictureBox1 ,2,3 når jeg tryker på en af de 3 billeder vil jeg have det billede over på min pictureBox1 i Form2 kan nogen hjælpe mig ???
Avatar billede Syska Mester
16. november 2005 - 13:18 #1
Send en reference med til form 3 fra form2..... Så kan du access form2's propeties fra form3.....
Avatar billede maddog2k1 Nybegynder
16. november 2005 - 13:20 #2
ja men hvordan gør jeg lige det ? ?
Avatar billede Syska Mester
16. november 2005 - 13:26 #3
i constructoren på form3


public class Form3{

private Form2 parentForm;
public Form3( Form2 form2 )
{
// Så kan du gemme den i en membervariable
parentForm = form2;
}
}

og når du så kalder din form3 fra form2 gør du sådan her....

Form3 myForm = new Form3( this );

Derefter skulle du gerne have adgang til Form2 fra Form3....

Håber det giver mening...

// ouT
Avatar billede maddog2k1 Nybegynder
16. november 2005 - 13:38 #4
undskyld er ny du siger i constructoren på form3 ??
Avatar billede Syska Mester
16. november 2005 - 13:40 #5
ja, den skal du lave lidt om i....

Lige nu kalder du nok noget ala det her på din form2

Form3 myForm = new Form3();
myForm.Show();

Der skal du have sendt "this" med, så du har en reference tilbage til form2 fra form3..

Smid lidt kode måske, kan jeg kan ændre i det...

// ouT
Avatar billede maddog2k1 Nybegynder
16. november 2005 - 13:55 #6
Label 2: http://pastebin.com/431573
Label 3: http://pastebin.com/431574

Håber ikke der er ALT for meget slam kode =)
Avatar billede Syska Mester
16. november 2005 - 14:08 #7
http://pastebin.com/431593

og ret:
Form3 frm = new Form3();
frm.Show();
til:
Form3 frm = new Form3( this );
frm.Show();
Avatar billede maddog2k1 Nybegynder
16. november 2005 - 14:13 #8
Så får jeg følgende fejl:
Form2.cs(221): No overload for method 'Form3' takes '0' arguments
Form3.cs(127): 'System.Windows.Forms.Form.Owner' denotes a 'property' where a 'method' was expected
Avatar billede Syska Mester
16. november 2005 - 14:31 #9
jamen, du har jo allerede noget kode der næsten kan det du vil....

Ved at hente Owner som er din Form2.....

Fjern også linie 127 og 126 i form3
Avatar billede maddog2k1 Nybegynder
16. november 2005 - 14:38 #10
hmm fatter det ikke undskyld men kan ikke få det til at virke :S fjernede linie 127 og 126 men det spiller ikke :S
Avatar billede Syska Mester
16. november 2005 - 14:53 #11
jamen, hvad virker ikke.....? virker ikke, er det stort begreb.....
Avatar billede maddog2k1 Nybegynder
16. november 2005 - 14:56 #12
Form2.cs(282): No overload for method 'Form3' takes '0' arguments
Form3.cs(128): The type or namespace name 'frm' could not be found (are you missing a using directive or an assembly reference?) <--- fjernede linie 127 og 26 jo..
Avatar billede Syska Mester
16. november 2005 - 15:23 #13
jamen....

Jeg kan jo ikke vide hvad 126 og 127 er blevet til hvis du har tilføjet mere kode over de linier.....

Tror det er den generalle forståelse for hvordan det hele virker du ikke kender endnu... med constructors etc.

linie 282 i Form2.cs Kalder du en Form3 klasse hvor du sender 0 parametre med, og der findes ikke nogen constructor som tager 0 parameters, da vi jo har lavet den om til at tage 1... nemlig en Form2 variable....

Men de fejl de får fortæller dig jo også hvad der er galt....

// ouT
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester