2012-03-23 11 views
16

Mam formularz formularzy systemu Windows, w którym próbuję wyświetlić formant użytkownika po załadowaniu formularza. Niestety nic nie pokazuje. Co ja robię źle? Proszę patrz poniższy kod:Jak dodać zdarzenie ładowania formularza (obecnie nie działa)

AdministrationView wel = new AdministrationView(); 
public ProgramViwer() 
{ 
    InitializeComponent(); 
} 


private void ProgramViwer_Load(object sender, System.EventArgs e) 
{ 
    formPanel.Controls.Clear(); 
    formPanel.Controls.Add(wel); 
} 

Uwaga dodałem zdarzenia ładowania na podstawie tego co czytałem w tym artykule:

http://msdn.microsoft.com/en-us/library/system.windows.forms.form.load.aspx

Odpowiedz

40

trzech sposobów można to zrobić - od projektanta formularzy, wybierz formularz i tam, gdzie zwykle widzisz listę nieruchomości, tuż nad nim powinien znajdować się mały symbol błyskawicy - to pokazuje wszystkie wydarzenia w formularzu. Znajdź zdarzenie ładowania formularza na liście, a następnie z menu wybierz opcję ProgramViwer_Load.

Drugi sposób to zrobić to programowo - gdzieś (konstruktor może) Ci, że trzeba go dodać, coś jak: ProgramViwer.Load += new EventHandler(ProgramViwer_Load);

Trzecim sposobem przy użyciu projektanta (chyba najszybsza) - podczas tworzenia nowy formularz, kliknij dwukrotnie jego środek na nim w trybie projektowania. Stworzy to dla ciebie zdarzenie ładowania formularza, podpięcie go i przeniesie cię do kodu obsługi zdarzenia. Następnie możesz po prostu dodać dwie linie i już możesz iść!

+0

Dzięki za trzeci! Nie wiedziałem tego !!! – Jenix

+0

Z jakiegoś powodu w eksploratorze zdarzeń nie ma rozwijanych opcji pod obciążeniem. –

+1

@DaveKelly menu wyświetli listę wszystkich kompatybilnych programów obsługi zdarzeń, które już napisałeś - podejrzewam, że jeszcze ich nie utworzyłeś. W tym pytaniu PO już napisał. Skopiuj i wklej i zmodyfikuj ten w tym pytaniu lub utwórz go sam. – Bridge

14

Masz połowę odpowiedzi! Po utworzeniu programu obsługi zdarzeń należy go podłączyć do formularza, aby był wywoływany podczas ładowania formularza. Możesz to osiągnąć, wykonując następujące czynności:

public class ProgramViwer : Form{ 
    public ProgramViwer() 
    { 
     InitializeComponent(); 
     Load += new EventHandler(ProgramViwer_Load); 
    } 
    private void ProgramViwer_Load(object sender, System.EventArgs e) 
    { 
     formPanel.Controls.Clear(); 
     formPanel.Controls.Add(wel); 
    } 
} 
Powiązane problemy