Cześć chciałem zrobić uchwyt do picturebox'a
więc.. PictureBox^ zdjecia = gcnew PictureBox();
zdjecia->Visible = false;
Niby kod dobry, a wszystkie pictureboxy nie znikają, co źle robię?
- Rejestracja:około 8 lat
- Ostatnio:ponad 6 lat
- Postów:51
- Rejestracja:około 8 lat
- Ostatnio:ponad 6 lat
- Postów:51
Azarien napisał(a):
Które wszystkie?
Czy zdajesz sobie sprawę, że takie coś:PictureBox^ zdjecia = gcnew PictureBox(); zdjecia->Visible = false;
Tworzy nową kontrolkę, którą zaraz potem „znika” zanim zostanie ona dodana do formy?
Chwila, uchwyt nie robi "podpięcia" pod wszystkie kontrolki z picturebox?
To jak bym mógł takie coś zrobić?

- Rejestracja:ponad 21 lat
- Ostatnio:około 12 godzin
PictureBox^ zdjecia = gcnew PictureBox();
Chwila, uchwyt nie robi "podpięcia" pod wszystkie kontrolki z picturebox?
A jakim cudem?
Powyższy kod to zarządzalny odpowiednik tego:
PictureBox* zdjecia = new PictureBox();
Czyli tworzysz zupełnie nowy obiekt.
To jak bym mógł takie coś zrobić?
Odwołaj się do istniejącej kontrolki, a nie twórz nową.
- Rejestracja:około 22 lata
- Ostatnio:2 miesiące
- Postów:5042
I masz mylne pojęcie na temat tego, czym jest uchwyt. I tu kłania się WinAPI. Najprościej mówiąc, uchwyt to jednoznaczny identyfikator kontrolki. W Windows to jest po prostu jakaś liczba. Nie ma dwóch kontrolek o takim samym uchwycie. W Windows cała komunikacja między systemem, a kontrolkami odbywa się za pośrednictwem właśnie tych uchwytów. Więcej przeczytasz wpisując w google coś w stylu: "WinAPI what is handle".
Jak chcesz w .NET przelecieć przez wszystkie kontrolki na formie (czy na innym kontenerze), to ta forma (czy inny kontener) ma taką właściwość jak Controls. To jest po prostu tablica wszystkich kontrolek znajdujących się bezpośrednio na danej formie (kontenerze).
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.
.NET
jest.