Condividi tramite


Procedura: chiamare proprietà e metodi del controllo Windows Form

Poiché CWinFormsView::GetControl restituisce un puntatore a System.Windows.Forms.Controle non un puntatore a WindowsControlLibrary1::UserControl1, è consigliabile aggiungere un membro del tipo di controllo utente e inizializzarlo in IView::OnInitialUpdate. Ora è possibile chiamare metodi e proprietà usando m_ViewControl.

In questo argomento si presuppone che sia stata completata in precedenza Procedura: Creare il controllo utente e l'host in una finestra di dialogo e Procedura: Creare il controllo utente e la visualizzazione MDI host.

Per creare l'applicazione host MFC

  1. Aprire l'applicazione MFC creata in Procedura: Creare il controllo utente e la visualizzazione MDI host.

  2. Aggiungere la riga seguente alla sezione public overrides della dichiarazione di CMFC02View classe in MFC02View.h.

    gcroot<WindowsFormsControlLibrary1::UserControl1 ^> m_ViewControl;

  3. Aggiungere un override per OnInitialupdate.

    Visualizzare la finestra Proprietà (F4). In Visualizzazione classi (CTRL+MAIUSC+C) selezionare la classe CMFC02View. Nella finestra Proprietà selezionare l'icona per Sostituzioni. Scoll giù l'elenco a OnInitialUpdate. Fare clic sull'elenco a discesa e selezionare <Aggiungi>. In MFC02View.cpp. assicurarsi che il corpo della funzione OnInitialUpdate sia il seguente:

    CWinFormsView::OnInitialUpdate();
    m_ViewControl = safe_cast<WindowsFormsControlLibrary1::UserControl1 ^>(this->GetControl());
    m_ViewControl->textBox1->Text = gcnew System::String("hi");
    
  4. Compilare ed eseguire il progetto.

    Nel menu Compila scegliere Compila soluzione.

    Scegliere Avvia senza eseguire il debug dal menu Debug.

    Si noti che la casella di testo è ora inizializzata.

Vedi anche

Hosting di un controllo utente Windows Form come visualizzazione MFC