Udostępnij za pośrednictwem


Porady: wywoływanie właściwości i metod formantu interfejsu Windows Forms

Ponieważ CWinFormsView::GetControl zwraca wskaźnik do System.Windows.Forms.Control, a nie wskaźnik do WindowsControlLibrary1::UserControl1, zaleca się dodanie elementu członkowskiego typu kontrolki użytkownika i zainicjowanie go w kontrolce IView::OnInitialUpdate. Teraz możesz wywoływać metody i właściwości przy użyciu polecenia m_ViewControl.

W tym temacie założono, że wcześniej ukończono instrukcje: Tworzenie kontrolki użytkownika i hosta w oknie dialogowym oraz Instrukcje: tworzenie kontrolki użytkownika i widoku MDI hosta.

Aby utworzyć aplikację hosta MFC

  1. Otwórz aplikację MFC utworzoną w temacie How to: Create the User Control and Host MDI View (Jak utworzyć kontrolkę użytkownika i widok MDI hosta).

  2. Dodaj następujący wiersz do sekcji CMFC02View przesłonięć publicznych deklaracji klasy w MFC02View.h.

    gcroot<WindowsFormsControlLibrary1::UserControl1 ^> m_ViewControl;

  3. Dodaj przesłonięć dla polecenia OnInitialupdate.

    Wyświetl okno Właściwości (F4). W widoku klasy (CTRL+SHIFT+C) wybierz pozycję CMFC02View, klasa. W oknie Właściwości wybierz ikonę Przesłonięcia. Przejdź do listy do pozycji OnInitialUpdate. Kliknij listę rozwijaną i wybierz pozycję <Dodaj>. W MFC02View.cpp. Upewnij się, że treść funkcji OnInitialUpdate jest następująca:

    CWinFormsView::OnInitialUpdate();
    m_ViewControl = safe_cast<WindowsFormsControlLibrary1::UserControl1 ^>(this->GetControl());
    m_ViewControl->textBox1->Text = gcnew System::String("hi");
    
  4. Skompiluj i uruchom projekt.

    W menu Kompilacja kliknij pozycję Kompiluj rozwiązanie.

    W menu Debugowanie kliknij przycisk Start bez debugowania.

    Zwróć uwagę, że pole tekstowe jest teraz inicjowane.

Zobacz też

Hostowanie kontrolki użytkownika interfejsu Windows Forms jako widoku MFC