Avatar billede gunnaar Nybegynder
17. marts 2005 - 14:16 Der er 9 kommentarer og
1 løsning

child åbner child

Heyhey

Jeg har en MDI applikation, hvor jeg gerne vil have det første åbne child til at kunne åbne det næste child...
Atså lidt ligesom en wizard i windows...

Kan ikke få det til at virke...

Nogen der kan hjælpe?
Avatar billede segato Nybegynder
17. marts 2005 - 14:54 #1
Vi må lige have lidt flere informationer. Normalt kører en wizard jo ikke som MDI vinduer men alm dialoger uden for MDI. Men anyway vil du bare have et MDI med en form i med en knap på. Når man klikke rpå denne knap åbner den bare et nyt MDI vindue?

Er dette tilfældet skal du huske at din child skal leve i Main Formens process. Så også der skal vinduet startes fra. Du skal tænke på starter du en form fra en form og lukker den form der startede en op nedlæger du jo nyopstartede form da den holder instansen.

Så jeg ville gøre følgende.

Lav en funktion i din main form der starter den form nummer 2 op.

void StartChild2()
{
m_child2.Show();
}

I din første child skriver du følgende hvor du vil starte den nye form op:

((MainForm)this.Owner).StartChild2();
Avatar billede gunnaar Nybegynder
17. marts 2005 - 16:05 #2
hmmm

har i main form(Forside)
        private void aktiverFrmV2()
        {
            //opret ny varemodtagelse2 form hvis der ikke er en i forvejen
            Varemodtagelse2 frmV2 = Varemodtagelse2.GetChildInstance();
            frmV2.MdiParent = this;
            frmV2.Hide();
            frmV2.Activate();
        }
        public void komFremV2()
        {
            frmV2.Show();


        }
 


Har i første child:
private void næste_Click(object sender, System.EventArgs e)
{
    ((Forside)this.Owner).komFremV2();
}

Men det virker ikke...

har fundet meget inspiration på www.dotnetspider.com/technology/kbpages/586.aspx
Avatar billede segato Nybegynder
17. marts 2005 - 16:16 #3
Ok har lavet et hurtigt samlpe;
Har en main(MDI)
og to child. First child har en knap der starter second child op:

I mains OnLoad:

        private void Form1_Load(object sender, System.EventArgs e)
        {
            this.IsMdiContainer = true;
            FirstChild firstChild = new FirstChild();
            firstChild.MdiParent = this;
            firstChild.Show();
        }


I knap event fra first child:


        private void button1_Click(object sender, System.EventArgs e)
        {
            SecondChild secondChild = new SecondChild();
            secondChild.MdiParent = this.Owner;
            secondChild.Show();
        }


Det alt der skal til.
Avatar billede segato Nybegynder
17. marts 2005 - 16:17 #4
Hvis du ik kan få det til at virke så smid en mail så sender jeg det solution.
Avatar billede gunnaar Nybegynder
17. marts 2005 - 16:56 #5
Det virker ok nu, men secondchild åbner i nyt vindue og det var ligesom ikke meningen...
Avatar billede segato Nybegynder
17. marts 2005 - 17:04 #6
ja det har du da ret i 2 mins.
Avatar billede segato Nybegynder
17. marts 2005 - 17:08 #7
Min main form:

private void Form1_Load(object sender, System.EventArgs e)
        {
            this.IsMdiContainer = true;
            FirstChild firstChild = new FirstChild();
            firstChild.MdiParent = this;
            firstChild.Show();
        }

        public void StartChild()
        {
            SecondChild firstChild = new SecondChild();
            firstChild.MdiParent = this;
            firstChild.Show();
        }

Min button click on first child:

private void button1_Click(object sender, System.EventArgs e)
        {
            ((Form1)this.MdiParent).StartChild();
        }

Det virker
Avatar billede segato Nybegynder
17. marts 2005 - 17:10 #8
Eller den her er nok nemmere!

Main:

private void Form1_Load(object sender, System.EventArgs e)
        {
            this.IsMdiContainer = true;
            FirstChild firstChild = new FirstChild();
            firstChild.MdiParent = this;
            firstChild.Show();
        }

first child:

SecondChild c = new SecondChild();
            c.MdiParent = this.MdiParent;
            c.Show();
Avatar billede gunnaar Nybegynder
17. marts 2005 - 17:16 #9
Fantastisk! Det virker...

Kast et svar så kaster jeg nogle point...

Tak for hjælpen!
Avatar billede segato Nybegynder
17. marts 2005 - 17:48 #10
Det var så lidt.
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

IT-JOB

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Cyberdivisionen søger elementleder til System sektionen i Hvidovre

Netcompany A/S

Test Consultant

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Teknisk systemansvarlig / ingeniør inden for taktisk datalink

Everllence

Software Engineer