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
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).
Dodaj następujący wiersz do sekcji
CMFC02View
przesłonięć publicznych deklaracji klasy w MFC02View.h.gcroot<WindowsFormsControlLibrary1::UserControl1 ^> m_ViewControl;
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");
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