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

  • Briganti

    tag

    Hellosztok, valami adatbazisos feladatot kell keszitsek, es most jovok ra hogy mennyire nem ertek a C# -hoz. Elozetes programozoi ismereteim vannak bar azok sem magas szintuek :) Addig kerem segitsegeteket amig kicsit megbaratkozom a kornyezettel :) Az objektum orientalt gondolkozasomon is van mit javitani, de majd csak kialakul ...

    Elso problemam ugy nezne ki hogy, hogy kezdesbol csinaltam egy MDI (Multiple Document Interface) alkalmazast, egyelore van 2 formom, amiket kellene egy nyitogassak es zarogassak, persze ugy hogy egyik formbol egyszerre csak 1 futhasson, a frmMain (MDIParent Form) -on van egy MenuStripem ahonnan megnyithatom mind a 2 form-ot, es itt mukodik is hogy egyszerre csak 1 fut, es ha megegyszer inditsuk akkor a mar futo form megkapja a Focus -t. Ezt ugy oldottam meg hogy egy Utils.cs osztalyba letrehoztam 2 listat, egyik Form, masik string tipusu, es ide vannak eltarolva a megnyitott formok, es itt ellenorzom hogy megvane nyitva, meg ilyenek. A baj akkor van hogy menu-bol megnyitom az egyik formot, es azon van egy gomb amelyikkel megnyithatom a masik formot. Itt nemtudom hogy mit csinaljak, mert a frmMain -n letrehozott Utils objektumot sehogysem tudtam elerni, es nemtudom hogyha egy ujat hozok letre akkor sztem nem fogok tudni az elozoleg letrehozott form listaval dolgozni.

    Nem masolom be az osszes kodot, csak reszleteket, remelem jol valasztok:

    Form: frmMain

    namespace FirmAdmin
    {
    public partial class frmMain : Form
    {
    private int childFormNumber = 0;

    public Utils u = new Utils();

    ...

    // igy inditok el menubol egy formot, es itt jol mukodik
    private void firmeToolStripMenuItem_Click(object sender, EventArgs e)
    {
    Form childFirma = new frmFirma();
    childFirma.MdiParent = this;
    childFirma.Text = "Lista Firme";
    u.formMegnyit(childFirma);
    }

    Az Utils osztalyom:

    namespace FirmAdmin
    {
    public class Utils
    {
    protected List<Form> formok = new List<Form>();
    protected List<string> formok_s = new List<string>();

    public void formMegnyit(Form f) {
    string s = f.Text;
    if (formok_s.IndexOf(s) == -1)
    {
    formok.Add(f);
    formok_s.Add(s);
    f.Show();
    }
    else
    {
    int index = formok_s.IndexOf(s);
    formok[index].Focus();
    }
    }

    public void formBezar(Form f)
    {
    formok.Remove(f);
    }
    }
    }

    Form: frmFirma

    private void button1_Click(object sender, EventArgs e)
    {
    Form addForm = new frmFirmaAdd();
    addForm.MdiParent = _mdiForm;
    [B]//ez a sor helyett kellene egy olyasmi hogy: frmMain.u.formMegnyit(addForm);[/B]
    addForm.Show();
    }

    lehet a kodolasom kicsit ossevissza van, az epito kritikat szivesen fogadom, es bocs a hosszu bejegyzesert!!

    If debugging is a process of removing bug, then programming is a process of putting them in ...

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