Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Forme u C#-u, 2 forme a jedna promenjiva ???????

[es] :: .NET :: .NET Desktop razvoj :: Forme u C#-u, 2 forme a jedna promenjiva ???????

[ Pregleda: 1914 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

satir81
Zeljko Zlatkovic
Nis

Član broj: 34696
Poruke: 28
89.216.104.*



Profil

icon Forme u C#-u, 2 forme a jedna promenjiva ???????29.03.2008. u 13:22 - pre 195 meseci
Imam osnovnu forrmu Form1 i klikom na jedno dugme aktivira se Form2.
Iz Form2 zelim da radim neka proracunavanje koja kasnije treba da se sumiraju u Form1.
Moje pitanje se odnosi kako da formiram jednu globalnu promenjivu na nivou te dve forme ili promenjivu Form1 koja ce biti obradjivana u Form2?????
 
Odgovor na temu

deerbeer
Beograd

Član broj: 174418
Poruke: 1189
*.adsl-1.sezampro.yu.



+395 Profil

icon Re: Forme u C#-u, 2 forme a jedna promenjiva ???????29.03.2008. u 15:53 - pre 195 meseci
stavi tu promenljivu u Form1 (private member) .
Napravi overload kontstruktora Form2 .Inicijalizuj tu promenljivu u Form1.
Pri pozivu Form2 prosledi objekat koji zelis da ona obradjuje .. sa tim sto ce Form2 da cuva samo referencu na objekat iz prve forme ...

Code:

Form2 frm2 = new Form2(nekiObjekat) ; 
frm2.ShowDialog() ; 


A mozes i u Form2 da napravis Property npr.(Source) koji ce takodje da cuva referencu na objekat iz prve forme ..

Code:

Form2 frm2 = new Form2() ; 
frm2.Source = nekiObjekat ; 
frm2.ShowDialog() ; 


Treci nacin je da nadjes parent prozor od Form2 i da cast-ujes u Form1 pa da onda uzmes tu promenjljivu u obliku property-ija
Code:

// u Form2 : 
Form1 parent = (Form1)this.Parent ; 
Type tvojObjekat =  parent.Source ; 


Viva lollapalooza
 
Odgovor na temu

satir81
Zeljko Zlatkovic
Nis

Član broj: 34696
Poruke: 28
89.216.104.*



Profil

icon Re: Forme u C#-u, 2 forme a jedna promenjiva ???????29.03.2008. u 16:41 - pre 195 meseci
Hvala uradio sam ovu prvu stvar i radi . Mislio sam i ja to da uradim nego sam mislio da obe forme ipak pripadaju klasi Form kao njihovoj globalnoj pa sam mislio nekako tu da deklarisem SortedDictionary koji mi je trebao ali je ta klasa read-only pa sam mislio mozda u tom nekom pravcu postoji neko elegantno resenje
 
Odgovor na temu

deerbeer
Beograd

Član broj: 174418
Poruke: 1189
*.adsl-1.sezampro.yu.



+395 Profil

icon Re: Forme u C#-u, 2 forme a jedna promenjiva ???????29.03.2008. u 18:18 - pre 195 meseci
Ima jos mogucih resenja (zavisi koliko si zainteresovan da ispeglash kod :). )
Da deklarises tu global varijablu kao static member ili property pa da joj pristupas sa
Code:

Type tvojObjekat =  Form1.dictionary ; 

al ti ne bi preporucio ovaj nacin jer static varijable nisu bezbedne u multi-thread rezimu ...

Cetvrti nacin je "singleton patern" ako jednom i samo jednom inicijalizujes tvoju promenljivu :
Code:

   public sealed class Singleton
    {

        static Singleton instance = null;
        static readonly object padlock = new object();

        Singleton()
        {
        }

        public static Singleton Instance
        {
            get
            {
                lock (padlock) // lock varijable sa exclusive pristup za pojedinacni thread 
                {
                    if (instance == null)
                    {
                        instance = new Singleton();
                    }
                    return instance;
                }
            }
        }
    }

//negde u Form2 :
Singleton s1 = Singleton.Instance;
Singleton s2 = Singleton.Instance;
if (s1.Equals(s2))
    MessageBox.Show("Isti su tj pokazuju na jedan te isti objekat  :"); 

Viva lollapalooza
 
Odgovor na temu

[es] :: .NET :: .NET Desktop razvoj :: Forme u C#-u, 2 forme a jedna promenjiva ???????

[ Pregleda: 1914 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.