Kako da prenesem podatke iz Form2 forme u Form1

Radomi Mihajlovic

Zainteresovan član
Poruka
104
Ovo je u Form1

private static string wizvbroj;
private static string wizvsifbanke;
private static string wimastavkenaloga;

private void button1_Click(object sender, EventArgs e)
{
Form2 nalizvodShow = new Form2(wimastavkenaloga, wizvbroj, wizvsifbanke);
nalizvodShow.Show();
}


Ovo je Form2

private static string wizvbroj;
private static string wizvsifbanke;
private static string wimastavkenaloga;

public Form2(string wimastavkenaloga, string wizvbroj, string wizvsifbanke)
{
InitializeComponent();
}

Kada treba da zatvorim Form2 formu i vratim se u Form1, trebaju mi podaci za
wizvbroj;
wizvsifbanke;
wimastavkenaloga;

ali dobijam null vrednost.
Kako da prenesem podatke iz Form2 forme u Form1, Form1 poziva formu Form2 iz koje treba da se vrate podaci u Form1.
 
Da bi nesto iz jedne klase (svojstvo ili funkcija) bilo vidljivo nekoj drugoj klasi, mora da bude javno (public).
U ovom tvom slucaju, treba da svako svojstvo (property) koje zelis da bude dostupno izlozis napolje (exposing).
Evo ti primer za jedno svojstvo (Form2):
Kod:
        private string _wizvbroj;
        public string WizvBroj
        {
            get { return _wizvbroj; }
            set { _wizvbroj = value; }
        }
Zatim, formu 2 treba da pozoves iz forme 1 jedan na sledeci nacin:
Kod:
using (var form = new Form2())
{
    var result = form.ShowDialog();
    if (result == DialogResult.OK)
    {
        string val = form.WizvBroj.;   // pristupio si public propertiju ovde
        //Na isti nacin prisupas ostalim        
    }
}


Uvek je preporucljivo da koristis "using" klauzulu za pristup bilo kojoj klasi koja implementira IDispose interfejs - a klasa Form implementira taj interfejs.

P.S
Bilo bi lepo kada bi svojim varijablama klasama davao neka normalna imena, a ne genericka.
Bez uvrede, ali jako ti je ruzan kod, kao da ga je pisalo dete od 12 godina.
 
Poslednja izmena:

Back
Top