[ Bope @ 02.08.2006. 23:28 ] @
Da li postoji mogucnost da u C# nekoj kontroli iz Form1 dodelim text kontrole iz Form2?

(npr u VB-u bih ovako uradio label1.caption=form2.label1.caption)
[ Mikky @ 02.08.2006. 23:38 ] @
Naravno, bas tako se i radi.
[ Bope @ 03.08.2006. 00:11 ] @
Ja nisam uspeo tako.Sve u svemu resio sam taj problem tako sto sam napravio klasu sa javnom promenljivom koja dobije kao vrednost text label2 pa sam onda iz form1 koristio public promenljivu iz te klase....

U poslednjih par dana sam poceo da se bavim C++.net i C#-om.Zanima me vase misljenje: da li se vise isplati uciti C# ili C++? Koji jezik je mocniji? Koji ima bolju perspektivu?
Meni se C++ cini kao mnogo mocniji (valjda zbog svoje komplikovanosti) ali me zanima sta vi mislite...
[ spartak @ 03.08.2006. 01:36 ] @
Zavisi da li hoces da ulovis puno fazana ili jednog slona?

Za skoro SVE biznis aplikacije i web aplikacije na koje sam do sada naisao C# je i vise nego dovoljan. Ako ces da pises drajvere i neke sisteme kod kojih je bitna kontrola memorije i slicno... eto te kod C++. Ako ces kitolovac da budes odmah udri Assembly kakav C++. Mucices se dugo da nesto napravis, ali ce da ti radi brzo :-)
[ Bope @ 04.08.2006. 15:17 ] @
sto se tice "label1.text=form2.label1.text" problema otkrio sam "rupu na saksiji"!

Za one koji budu imali slican problem pa nalete na ovu temu: U "form2.designer.cs" kodu treba napisati da je label2 public a ne private!
[ spartak @ 04.08.2006. 16:25 ] @
Mogu i da naprave instancu objekta form2 u kodu form1, i da pristupe kolekciji kontrola form2, nadju label i uzmu mu vrednost a da kontrola i dalje ostane private.
[ Bope @ 04.08.2006. 18:11 ] @
Kako to? Kako?
[ Oliver Klaćik @ 05.08.2006. 02:35 ] @
Pogledaj ControlCollection klasu u MSDN-u.
[ radoica @ 06.08.2006. 16:21 ] @
Mozda ovako, nije testirano

Code:

foreach (Control c in Form2.Controls) {
    if (c is Label) {
        Form1.label1.Text = c.Text;
    }

Ovo gore je ako imas vise kontrola na Form2, ali samo jednu label-u

Code:

foreach (Control c in Form2.Controls) {
    if (c.Name == "labelName") {
        Form1.label1.Text = c.Text;
    }
}

Ovde je identifikujes preko imena, ako imas vise label-a na Form2
[ radoica @ 06.08.2006. 16:30 ] @
Upravo sam se setio da ControlCollection ima preklopljen [] operator koji kao parametar prima ime kontrole tako da ti je ovo najbolje resenje

Code:

Form1.label1.Text = Form2.Controls["labelName"].Text;

[ Bope @ 10.08.2006. 14:57 ] @
A da li bi mogao da mi das kod koji bi resavao ovaj moj problem?
[ radoica @ 10.08.2006. 21:02 ] @
Code:

Form1.label1.Text = Form2.Controls["labelName"].Text;


Ovo i jeste kod koji bi resio tvoj problem, ako sam ja dobro razumeo!
[ Bope @ 10.08.2006. 22:04 ] @
o5 sam dao odgovor na pogresnu temu! (sta mi je danas?!)
Hvala Radoice,ovaj problem sam resio ali se javio novi...
Na mojoj temi "Problem oko dodeljivanja vrednosti konrolama iz drugih Form-a" sam objasnio taj drugi problem...
Taj drugi problem je vezan za scope label-e
[ VerbatimBOT @ 11.08.2006. 08:31 ] @
Citat:
Da li postoji mogucnost da u C# nekoj kontroli iz Form1 dodelim text kontrole iz Form2?


Kod u formi1
Code:

// definises na globalnom nivou klase
Form2 frm2 = new Form2();
// ...

// ovo smesti u event za koji ti je potreban
lblIme.Text = frm2.procitajIme();


Kod u formi2
Code:

public string procitajIme()
{
     return txtIme.Text;
}


Citat:
U "form2.designer.cs" kodu treba napisati da je label2 public a ne private!

Da ali se to u praksi ne radi. Bolje da ih ostavis na private! Preporucljivo je da im pristupas preko javnih metoda i propertija.