2012-09-06 13 views
11

Pracowałem przez książkę Head First C# i użyłem InitializeComponent(); metoda kilka razy.Bardzo prosta definicja InitializeComponent(); Metoda

Przykładem tego jest na ćwiczenia Planner Party Stworzyłem klasę o nazwie DinnerParty.cs a następnie wykorzystywane ten kod w Form1.cs

public Form1()   
     {   
      InitializeComponent(); 
      dinnerParty = new DinnerParty() { NumberOfPeople = 5 }; 
      dinnerParty.SetHealthyOption(checkBox2.Checked); 
      dinnerParty.CalculateCostOfDecorations(checkBox1.Checked); 
      DisplayDinnerPartyCost(); 
     } 

moje pytanie, co dokładnie jest metoda Initialize Komponent robić. Rozumiem, że definiuję nowy obiekt lub wystąpienie klasy DinnerParty i ustawiając wszystkie wartości, jak do tej pory zakładałem, że InitializeComponent() mówi "Ustaw wartości moich pól przy użyciu następującego:"

Czy mogę prosić o PODSTAWOWE, coś, co mogę zrozumieć z definicji. Przyjrzałem się wcześniejszym postom i odpowiedziom na ten temat i wszystko jest zbyt skomplikowane. Zaznaczę najłatwiejszą do zrozumienia odpowiedź, która wciąż zawiera kluczowe informacje jako odpowiedź.

+3

Jeśli zajrzysz do "Form1.Designer.cs", będzie zawierał metodę "InitializeComponent". Zasadniczo po prostu inicjuje treść formularza. – 3aw5TZetdf

+2

Kliknij prawym przyciskiem myszy "InitializeComponent" w Visual Studio i wybierz opcję "Przejdź do deklaracji". Ta da. – Adam

+0

Patrz [InitializeComponent Objaśnienie] (http: //www.dotnetperls.com/initializecomponent) – logicnp

Odpowiedz

24

InitializeComponent to metoda automatycznie napisany dla Ciebie przez projektanta formularza podczas tworzenia/zmienić formy.

Każdy plik formularzy (np Form1.cs) ma pliku projektanta (np Form1.designer.cs), który zawiera metodę InitializeComponent, nadpisanie generycznej Form.Dispose oraz deklarację wszystkim z Użytkownikiem Obiekty interfejsu, takie jak przyciski, pola tekstowe, etykiety i sam formularz.

Metoda InitializeComponent zawiera kod, który tworzy i inicjalizuje obiekty interfejsu użytkownika przeciągane na powierzchnię formularza z wartościami dostarczonymi przez użytkownika (programistę) przy użyciu siatki właściwości projektanta formularzy. Z tego powodu nigdy nie próbuj wchodzić w interakcje z formularzem lub kontrolkami przed wywołaniem InitializeComponent.
Znajdziesz tu również instalację hydrauliczną wymaganą do połączenia kontrolek i utworzenia zdarzeń z określonymi procedurami obsługi zdarzeń, które napisałeś, aby reagować na działania użytkowników.

Kod zawarty w Form1.cs i plikach Form1.Designer.cs należy do tej samej klasy, dzięki koncepcji partial classes, która może przechowywać dwa lub więcej plików kodu razem jak jeden blok kodu.

Oczywiście, ze względu na dużą liczbę zmian wykonanych przez Projektanta formularzy, jest to naprawdę dobra rada dla nie próbuj modyfikować ręcznie tej metody, a czasami uważam, że warto dodać kod do Dispose metoda mająca na celu zniszczenie niektórych niezarządzanych obiektów utworzonych w czasie życia formularza.

+2

To jest dobra odpowiedź. –

Powiązane problemy