Partilhar via


Como chamar propriedades e métodos do controle dos Windows Forms

Como o CWinFormsView::GetControl retorna um ponteiro para System.Windows.Forms.Control, e não um ponteiro para WindowsControlLibrary1::UserControl1, é aconselhável adicionar um membro do tipo de controle do usuário e inicializá-lo em IView::OnInitialUpdate. Agora você pode chamar métodos e propriedades usando m_ViewControl.

Este tópico pressupõe que você tenha concluído anteriormente Como criar o controle de usuário e o host em uma caixa de diálogo e Como criar o controle de usuário e hospedar uma exibição MDI.

Para criar o aplicativo host do MFC

  1. Abra o aplicativo MFC criado em Como criar o controle de usuário e hospedar uma exibição MDI.

  2. Adicione a linha a seguir à seção de substituições públicas da declaração de classe CMFC02View em MFC02View.h.

    gcroot<WindowsFormsControlLibrary1::UserControl1 ^> m_ViewControl;

  3. Adicione uma substituição para OnInitialupdate.

    Exiba a janela Propriedades (F4). No Modo de Exibição de Classe (CTRL+SHIFT+C), selecione a classe CMFC02View. Na janela Propriedades, selecione o ícone Substituições. Role para baixo a lista de OnInitialUpdate. Clique na lista suspensa e selecione <Adicionar>. Em MFC02View.cpp. verifique se o corpo da função OnInitialUpdate é como segue:

    CWinFormsView::OnInitialUpdate();
    m_ViewControl = safe_cast<WindowsFormsControlLibrary1::UserControl1 ^>(this->GetControl());
    m_ViewControl->textBox1->Text = gcnew System::String("hi");
    
  4. Compile e execute o projeto.

    No menu Compilar, clique em Compilar Solução.

    No menu Depurar, clique em Iniciar sem depurar.

    Observe que a caixa de texto agora está inicializada.

Confira também

Hospedando um controle de usuário do Windows Forms como uma exibição do MFC