Compartir a través de


Cómo: Llamar a propiedades y métodos del control de formularios Windows Forms

Dado que CWinFormsView::GetControl devuelve un puntero a System.Windows.Forms.Control, y no un puntero a WindowsControlLibrary1::UserControl1, es aconsejable agregar un miembro del tipo de control de usuario e inicializarlo en IView::OnInitialUpdate. Ahora puede llamar a métodos y propiedades mediante m_ViewControl.

En este tema se supone que ha realizado los procedimientos que se indican en Cómo: Crear el control de usuario y hospedarlo en un cuadro de diálogo y Cómo: Crear el control de usuario y hospedarlo en una vista MDI.

Para crear la aplicación host MFC

  1. Abra la aplicación de MFC que creó en Cómo: Crear el control de usuario y hospedarlo en una vista MDI.

  2. Agregue la línea siguiente a la sección de invalidaciones públicas de la declaración de clase CMFC02View en MFC02View.h.

    gcroot<WindowsFormsControlLibrary1::UserControl1 ^> m_ViewControl;

  3. Agregue una invalidación para OnInitialupdate.

    Muestra la ventana Propiedades (F4). En la Vista de clases (CTRL+MAYÚS+C), seleccione la clase CMFC02View. En la ventana Propiedades, seleccione el icono de Invalidaciones. Reduzca la lista a OnInitialUpdate. Haga clic en la lista desplegable y seleccione <Agregar>. En MFC02View.cpp. asegúrese de que el cuerpo de la función OnInitialUpdate es el siguiente:

    CWinFormsView::OnInitialUpdate();
    m_ViewControl = safe_cast<WindowsFormsControlLibrary1::UserControl1 ^>(this->GetControl());
    m_ViewControl->textBox1->Text = gcnew System::String("hi");
    
  4. Compile y ejecute el proyecto.

    En el menú Compilar , haga clic en Compilar solución.

    En el menú Depurar, haga clic en Iniciar sin depurar.

    Observe que el cuadro de texto ahora se ha inicializado.

Consulte también

Hospedar un control de usuario de Windows Forms como una vista de MFC