C# ja lomakkeet

Tietäiskö joku C# sovelluskehittimestä, että mistä saa kytkettyä ominaisuuden jolla esim napista painettaessa ei aukea joka kerran uusi lomake, vaan jos lomake on jo kerran avattu ja avoinna käytön aikana niin se ainoastaan aktivoituisi päällimmäiseksi. Millainen olio tähän pitäisi olla?

Toinen asia olisi sitten se, että kun on kaksi lomaketta ja ensimmäisen lomakkeen napista painaa päivitä nappia, niin toisen lomakkeen tekstikenttään tulisi esim ensimmäiselle lomakkeelle syötetty tieto.
Itselläni tämä toimii puolittain niin, että arvo kyllä menee toiselle lomakkeelle kun se toinen lomake luodaan. Mutta tietojen päivitys pitäisi toimia ensimmäiseltä lomakkeelta päivittämällä myös senkin jälkeen.
Osaisko joku guru kertoa miten nää asiat saisi kuntoon?
1238
Äänestä

Muut lukivat myös

Vastaukset 1

Vanhimmat

1) Tee kakkosformin oliosta globaali muuttuja. Tutki formia luotaessa onko formi jo olemassa, jos ei niin luo, jos on niin Activate().

Kakkosformille lisäät käsittelijän Closing() [tai Closed()] viestille ja kerrot siinä kutsuvalle formille että nyt minä poistuin, aseta muuttuja nulliksi.

-- snip ----
// muuttuja formille 1
private TokaIkkuna tokaIkkuna = null;

// Form1 buttonin käsittelijä ja public-funktio
private void btnToka_Click(object sender, System.EventArgs e)
{
if ( this.tokaIkkuna == null )
{
this.tokaIkkuna = new TokaIkkuna();
this.tokaIkkuna.AitiIkkuna = this;
this.tokaIkkuna.Show();
}
else
this.tokaIkkuna.Activate();
}

public void TokaIkkunaClosed()
{
this.tokaIkkuna = null;
}

// kakkosformille niinikään form-muuttuja
public Form1 AitiIkkuna = null;

// ja closing-viestin käsittelijä
private void TokaIkkuna_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
this.AitiIkkuna.TokaIkkunaClosed();
}
--- snip ---

2) Määrittele kakkosformille public funktio jota kutsut aina kun uusi arvo pitää päivittää. Tässä public-funktiossa sitten viet parametrina saamasi tiedon sinne minne pitääkin.

Tämä jää harjoitustehtäväksi, katso mallia edellisesstä.

Äänestä

Kommentoi aloitusta


Nimimerkki kirjoitti:

Tietäiskö joku C# sovelluskehittimestä, että mistä saa kytkettyä ominaisuuden jolla esim napista painettaessa ei aukea joka kerran uusi lomake, vaan jos lomake on jo kerran avattu ja avoinna käytön aikana niin se ainoastaan aktivoituisi päällimmäiseksi. Millainen olio tähän pitäisi olla?

Toinen asia olisi sitten se, että kun on kaksi lomaketta ja ensimmäisen lomakkeen napista painaa päivitä nappia, niin toisen lomakkeen tekstikenttään tulisi esim ensimmäiselle lomakkeelle syötetty tieto.
Itselläni tämä toimii puolittain niin, että arvo kyllä menee toiselle lomakkeelle kun se toinen lomake luodaan. Mutta tietojen päivitys pitäisi toimia ensimmäiseltä lomakkeelta päivittämällä myös senkin jälkeen.
Osaisko joku guru kertoa miten nää asiat saisi kuntoon?

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