widzialnosc skladnika z poziomu innej formy

Odpowiedz Nowy wątek
2006-07-18 11:01
.aristo
0

witam wszystkich serdecznie. dotychczas pisalem w c++. od kilku miesiacy ucze sie C#.
moj problem polega na czyms takim:
Form1 zawiera statusStrip, na ktorym wyswietla informacje.
Z poziomu Form2 chce zmienic zawartosc statusStrip ale nie mam do niego dostepu. Wlasciwosci kontrolki statusStrip zawieraja pole Modifiers. Ustawienie go na public nic nie daje.
Jak dostac sie do sladnikow jednej formy z poziomu innej?

ps. objekt klasy Form2 jest tworzony z poziomu klasy Form1.

pozdrawiam
Mariusz

Pozostało 580 znaków

2006-07-18 11:33
0

Poszukaj w kodzie deklaracji tej skladowej i zmien na public. Powinno pomoc.
Ostatecznie mozesz napisac metode, ktora go zwroci.

pozdrawiam
johny


You need to learn how to walk
before you can run

Pozostało 580 znaków

2006-07-18 11:41
0
johny_bravo napisał(a)

Poszukaj w kodzie deklaracji tej skladowej i zmien na public.

Przepraszam ze sie wtrace, ale co masz na mysli?

Pozostało 580 znaków

2006-07-18 11:44
0
Tomasz Stężycki napisał(a)
johny_bravo napisał(a)

Poszukaj w kodzie deklaracji tej skladowej i zmien na public.

Przepraszam ze sie wtrace, ale co masz na mysli?

Skoro StatusStrip jest na formularzu to jest gdzies w kodzie zadeklarowany, ustawiony, przypisany, itd - zazwyczaj w sekcji Initialize, ew. osobnym pliku, jesli to ktorys z produktow do framework'a 2.0. Niech sobie wiec znajdzie deklaracje tej skladowej (bo tak bedzie zadeklarowany) i zmieni na public.

pozdrawiam
johny


You need to learn how to walk
before you can run

Pozostało 580 znaków

2006-07-18 11:52
0

tak tez wlasnie zrobilem w designerze Form1:

    public System.Windows.Forms.StatusStrip statusStrip;
    public System.Windows.Forms.ToolStripStatusLabel statusStripLoginStatus;

tyle, ze z poziomu obiektu klasy Form2 dalej nie mam do niego dostepu.
dodam, ze dziala zmiana widzialnosci obiektu z private na public dokonana zarowno z poziomu properties jak i recznie w designerze. zmiana w properties pociaga za soba zmiane w designerze i odwrotnie.

pozdrawiam
Mariusz


...This is not war, this is pest control!...

Pozostało 580 znaków

2006-07-18 12:02
0

A w jaki sposob probujesz sie do niego dostac? Moze tu lezy przyczyna?

pozdrawiam
johny


You need to learn how to walk
before you can run

Pozostało 580 znaków

2006-07-18 12:09
0

Johny - a jaka widzisz roznice miedzy zmiana parametru w kodzie czy w okienku Properties? Bo ja zadnej.

aristo, ogolnie masz 2 wyjscia - albo przechwycic handlera pierwszej formatki z drugiej, albo wywolac 2 forme w trybie dialogu. przy czym polecam ten 2 sposob. Przykladowo:

Zalozenia:

  • firstForm
    -btnShowSecondForm (Private)
    -txtFirstForm (Private)

  • secondForm
    -txtSecondForm (Public)

Wywolanie 2 formatki:

        Form2 secondForm = new Form2();
        secondForm.ShowDialog();
        txtFirstForm.Text = secondForm.txtSecondForm.Text;

I tak na przyszlosc - nie szalej z "public". Nie po to wymyslono hermetyzacje zeby ja teraz zlewac ;)

Pozostało 580 znaków

2006-07-18 12:13
0
Tomasz Stężycki napisał(a)

Johny - a jaka widzisz roznice miedzy zmiana parametru w kodzie czy w okienku Properties? Bo ja zadnej.

Widze, a dokladnie nie wszystkie srodowiska ja widza. W Visualu 2003 na przyklad to dosc klasyczny problem.

pozdrawiam
johny


You need to learn how to walk
before you can run

Pozostało 580 znaków

2006-07-18 12:30
0

Ja uzywam VS2005 Ent.
Jeszcze raz opisze w skrucie. W glownej formie programu mam statusStripa. Z glownej formy wywoluje dialog Form2. I teraz z poziomu tego dialogu (z jednego z jego handlerow) probuje zmienic tekst w statusStripie glownej formy ale go nie widze, nawej jesli jest publiczny.

nie wiem czy to cos pomoglo, mam nadzieje ze chociaz troche.

pozdrawiam
Mariusz


...This is not war, this is pest control!...

Pozostało 580 znaków

2006-07-18 12:30
0
johny_bravo napisał(a)

W Visualu 2003 na przyklad to dosc klasyczny problem.

Nie wierz we wszystko co ludzie mowia....

Pozostało 580 znaków

2006-07-18 13:11
0
Tomasz Stężycki napisał(a)
johny_bravo napisał(a)

W Visualu 2003 na przyklad to dosc klasyczny problem.

Nie wierz we wszystko co ludzie mowia....

Alez ja go uzywalem, a nie sluchalem opinii :P I pare razy sie na to nadzialem wlasnie, poki nie przestalem ufac w pelni 'automatycznej' generacji kodu.

aristo: napisz kawalek kodu, ktorym probujesz sie odwolac do tego stripa.

pozdrawiam
johny


You need to learn how to walk
before you can run

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0