Autor Wątek: Formularze pod kontrolą  (Przeczytany 1114 razy)

Offline slud

  • Użytkownik

# Listopad 02, 2009, 11:52:03
Cze,

Mam sobie aplikacje desktopowa (winforms), ktora wyswietla rozne formularze. Ogolnie do tworzenia formularzy uzywam klasy System.Windows.Forms.Form, a sama aplikacja startuje ze statycznego maina poprzez System.Windows.Forms.Application.Run( new FormularzStartowy() ); (class FormularzStartowy: Form) I teraz mam problem, bo chcialbym zrobic sobie cos w rodzaju pojemnika otwartych formularzy, ale tylko odpowiedniego typu i nie jest to typ Form, a np ICanOpenClose (implementujaych odpowiedni interfejs), czyli np takich, ktore chca sprawdzic czy moga sie pojawic lub czy moga zostac zamkniete (np jestesmy w trybie edycji jakichs danych). Dlatego chcialbym wymusic, aby tworzono tylko i wylacznie formularze typu ICanOpenClose. Przeciazyc wlasciwosci Application.OpenForms nie moge, bo Application jest sealed, a OpenForms tylko get. Stworzyc Pojemnik<ICanOpenClose> moge no i tu raczej nie ma problemu, kwestia tylko tego jak zapobiec stworzeniu i wyswietleniu okna na podstawie typu Form przez innego programiste?

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline Esidar

  • Użytkownik

# Listopad 02, 2009, 12:40:42
jak zapobiec stworzeniu i wyswietleniu okna na podstawie typu Form przez innego programiste?
Powiedzieć mu żeby tego nie robił i pisać dalej kod bez marnowania czasu na takie dylematy :)

Offline slud

  • Użytkownik

# Listopad 02, 2009, 13:12:36
ok :)

Offline Asmodeusz

  • Użytkownik
    • Bogumił Wiatrowski: Blog

# Listopad 03, 2009, 11:07:18
Nie wiem, na ile to będzie poprawne w tym przypadku, acz na pewno istnieje możliwość ograniczenia wykonywanego kodu na kilka sposobów (namespace System.Runtime.ConstrainedExecution). Ponadto zawsze zostają CompilerServices, dekompilacja kodu w czasie działania i analiza czy przypadkiem koder nie pokombinował czegoś dziwnego ;-)

Całość oczywiście przy założeniu, że formy piszą programiści, z którymi nie masz kontaktu a aplikacja tworzy je dynamicznie (np. z DLLek wewnątrz folderu).

Offline slud

  • Użytkownik

# Listopad 03, 2009, 11:28:29
Dzieki za wskazowki! :)
Narazie przyjalem poprostu umowna zasade tworzenia formularzy okreslonego typu. Poczytam o tym co napisales troche pozniej jak uporam sie z cala reszta.