Keresés

Új hozzászólás Aktív témák

  • ArchElf

    addikt

    válasz r0by #755 üzenetére

    Az egyszerű megoldás a Panel, TabControl vagy a GroupBox.
    Mazochisták csinálhatják MDI-vel is :)

    AE

  • Lortech

    addikt

    válasz r0by #755 üzenetére

    Célszerű megtanulni kódból megcsinálni a form felületet, ha egy picit is bonyolultabb működésre van szükség.
    Létrehozod a controlt, felparaméterezed (pozíció, méret stb), hozzáadod a megfelelő konténerhez. (form, panel, groupbox...), majd eltávolítod őket.

    Pl.
    TextBox tb = new TextBox();
    //param
    this.Controls.Add(tb); // ha a this a formod
    Hozzáadja a formhoz szövegdobozt.

    this.Controls.Remove(tb)
    Eltávolítja a szövegdobozt a formból.
    megj: A tb objektum ettől még nem feltétlenül szűnik meg, attól függ, hogy hoztuk létre.

    Érdemes tanulmányozni a formhoz tartozó designer.cs fájlt, hogy megértsd a működését. Onnantól kezdve már könnyű a dolog, sokféleképpen megoldható a feladat.

    A konténereknek vannak jó tulajdonságaik, amikkel a hozzá tartozó controlokat csoportosan lehet vezérelni, pl. elég eltávolítani a panelt ahhoz, hogy a hozzá tartozó controlok mindegyike megsemmisüljön (ha nincs rá máshonna referencia), vagy ott a Visible tulajdonság, amivel el lehet tüntetni egyszerre őket, vagy az Enable tulajdonság, amivel inaktívvá tehetők.

    Bizonyos esetekben célszerű lehet újrahasznosítani a controljaidat, amennyiben lehetséges és nem bonyolítja el a programot.
    Pl. van egy textboxod, aminél megadsz felhasználónevet, hogy azonosítsa a felhasználót. Mikor ez megvolt, el akarod tüntetni ezt, és egy másik textboxot akarsz kirakni hogy bevigyen egy másik inputot a felhasználó. Ehhez felhasználhatod az előző textboxot, ahelyett, hogy megsemmisítenéd az objektumpéldányt, és létrehoznál egy újat. Csak át kell praméterezni, pl. pozíció, méret, egyéb paraméterek (text), eseménykezelők.

Új hozzászólás Aktív témák

Hirdetés