Tartteis apua ohjelman toteutukseen(C#)

Elikkäs olen tekemässä ohjelmaa jossa on monta lomaketta. Kaikkien lomakkeiden pitäisi olla päälomakkeen sisällä tyyliin esim ms excell jossa taulukot on kaikki päälomakkeen rajatulla alueella.
Ongelmana on toteutus. Miten muiden lomakkeiden siirtely ja sijoittelu saataisiin rajattua päälomakkeen rajojen sisään? Siis niin että alilomake voi kyllä mennä rajoista yli mutta se ei näy kuin päälomakkeen rajatulla alueella.

Osaisko joku auttaa?
3467
Äänestä

Muut lukivat myös

Vastaukset 3

Vanhimmat
  • Eli pitäis saada ohjelma toimimaan siten että lomake kaksi laittais tiedon ykkös formille jos se suljetaan jotta tiedettäisiin luodaanko napista kakkoslomake uudestaan. Ongelma on siinä ettei tieto jostain syystä lähde kakkosformilta.
    Normaaleina lomakkeina kyllä toimii mutta samalla kun alkaa käyttämään tuota mdi-parentia niin ei enää jostain syystä toimikaan.

    Form1:n koodia:
    .
    .
    .

    this.IsMdiContainer = true;
    .
    .
    .

    Seuraava pätkä on add napin alla.

    this.f2 = new Form2();
    this.f2.MdiParent = this;
    this.f2.Show();
    .
    .
    .
    public void Form2Closed()
    {
       this.f2 = null;
    }

    #################


    Form2:n koodia:

    public Form1 parentform = null;
    .
    .
    .

    Elikkäs seuraavassa tapahtumankäsittelijässä tieto pitäisi lähteä ykkösformille, mutta tuleekin virheviesti:
    An unhandled exception of type 'System.NullReferenceException' occured in Ohjelma.exe

    private void Form2_Closing(object sender,System. ComponentModel.CancelEventArgs e)
    {
       this.parentform.Form2Closed();
    }

    Äänestä

  • Juuba kirjoitti:

    Eli pitäis saada ohjelma toimimaan siten että lomake kaksi laittais tiedon ykkös formille jos se suljetaan jotta tiedettäisiin luodaanko napista kakkoslomake uudestaan. Ongelma on siinä ettei tieto jostain syystä lähde kakkosformilta.
    Normaaleina lomakkeina kyllä toimii mutta samalla kun alkaa käyttämään tuota mdi-parentia niin ei enää jostain syystä toimikaan.

    Form1:n koodia:
    .
    .
    .

    this.IsMdiContainer = true;
    .
    .
    .

    Seuraava pätkä on add napin alla.

    this.f2 = new Form2();
    this.f2.MdiParent = this;
    this.f2.Show();
    .
    .
    .
    public void Form2Closed()
    {
       this.f2 = null;
    }

    #################


    Form2:n koodia:

    public Form1 parentform = null;
    .
    .
    .

    Elikkäs seuraavassa tapahtumankäsittelijässä tieto pitäisi lähteä ykkösformille, mutta tuleekin virheviesti:
    An unhandled exception of type 'System.NullReferenceException' occured in Ohjelma.exe

    private void Form2_Closing(object sender,System. ComponentModel.CancelEventArgs e)
    {
       this.parentform.Form2Closed();
    }

    Löysin tarkat ohjeet millainen tapahtumakäsittelijä lapsilomakkeelle pitää olla.

    Äänestä

Kommentoi aloitusta


Juuba kirjoitti:

Elikkäs olen tekemässä ohjelmaa jossa on monta lomaketta. Kaikkien lomakkeiden pitäisi olla päälomakkeen sisällä tyyliin esim ms excell jossa taulukot on kaikki päälomakkeen rajatulla alueella.
Ongelmana on toteutus. Miten muiden lomakkeiden siirtely ja sijoittelu saataisiin rajattua päälomakkeen rajojen sisään? Siis niin että alilomake voi kyllä mennä rajoista yli mutta se ei näy kuin päälomakkeen rajatulla alueella.

Osaisko joku auttaa?

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu