Avatar billede jess_chr Nybegynder
23. december 2005 - 12:45 Der er 4 kommentarer og
1 løsning

Child Parent events - minimer og maximer et child

jeg sidder og skriver et program hvor jeg tilføjer nogle childs, hele ideen er at der skal tilføjes fler childs af gangen, men når jeg maximere min Parent Form, bibeholder mine childs deres størrelse og placering lidt for nøje!

mine chlids er selvfølgelig windows forms, og jeg tilføjer disse childs til Controls i et panel, i min Parent Form.

når jeg minimere mine childs lægger de sig i bunden af panel som de skal, men jeg vil gerne have at de også ligger i bunden af mit panel når jeg maximere Parent, og det samme når Parent er maximeret, og windowstate på Parent skiftes til "normal"!

yderligere ville jeg spørge om der er en der tilfældigvis ved hvordan man laver et event modsat, dvs. at jeg har lavet en event på mine child der gør at min parentform køre en funktion når et child lukkes(Interaktiv parent er ideen!), men er der nogen det ved hvordan man får et child til at køre en funktion når der sker et event på Parent!

På forhånd tak!
Avatar billede Syska Mester
23. december 2005 - 13:31 #1
Sidste del:

Du får vel din Parent til at kalde den funktion på din child du vil køre?

// ouT
Avatar billede jess_chr Nybegynder
23. december 2005 - 13:48 #2
Den del har jeg selv lige fundet en løsning på, det var mere specifikt en event der hændterede form.text ændring!
Avatar billede jess_chr Nybegynder
29. december 2005 - 11:49 #3
Fandt selv svaret - Lukker spørgsmål
Avatar billede Syska Mester
29. december 2005 - 13:34 #4
Du må da gerne smide svaret her, kan ske andre kan bruge det....

// ouT
Avatar billede jess_chr Nybegynder
02. januar 2006 - 13:19 #5
sorry...

det var et design spørgsmål, jeg havde lagt tilføjet mine childs til "Controls" på et panel, det skal man bare lade være med, så kan "Form" selv håndtere det til et vist punkt... der er lidt slam kode fra MS side, men ideen er at programmet skal fungere lidt som office produkterne, og det gør det!

hvad angår funktion afvikling på childs:
mine childs lå i et array af Forms, hvor jeg så tilføde og fjernede disse dynamisk.

det jeg ville have var at kunne kalde en funktion jeg havde lavet på en form fra parent, men når man skal køre en funktion på et standart object(mangler ord til at beskrive det!) fx...

Form[] foo = new Form[3];
foo[1].udførEnFunktionPåChildFormen();

fejler systemet fordi det ikke er sikkert at objektet har denne funktion, det eneste man kan være sikker på eksistere er funktionalitet på objekter af typen "Form"!

måden jeg løste det på(for jeg er sikker på at der er andre måder!) var at jeg lavede en ny klasse som extendede Form og lavede de funktioner som jeg havde brug for, det er ikke alle childs der skal ruge "SaveAs()" funktionen så den lader jeg bare være, og de funktioner mit child så skal bruge overrider jeg på childed!

og lidt kode...

min custom form:
public class myForm : Form{
    public string name = null;

    public virtual void SaveAs() { }
}

min parent:
public class myParent : Form{
    myForm[] childs = new myForm[1];

    public EtEllerAndet myBtn(sender s, EventArgs e){
        childs[0] = new myChild();
        /* en masse child/parent lirumlarum */
        childs[0].Show();
    }
}

mit child:
public class myChild : myForm{
    /* en masse kode */;
}

læg en kommentar vis der er noget jeg skal uddybe!
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