Partager via


Comment : appeler des propriétés et des méthodes du contrôle Windows Forms

Étant donné que CWinFormsView ::GetControl retourne un pointeur vers System.Windows.Forms.Control, et non un pointeur vers WindowsControlLibrary1::UserControl1, il est conseillé d’ajouter un membre du type de contrôle utilisateur et de l’initialiser dans IView ::OnInitialUpdate. Vous pouvez maintenant appeler des méthodes et des propriétés à l’aide m_ViewControlde .

Cette rubrique suppose que vous avez déjà terminé comment : créer le contrôle utilisateur et l’hôte dans une boîte de dialogue et comment : créer le contrôle utilisateur et l’affichage MDI hôte.

Pour créer l’application hôte MFC

  1. Ouvrez l’application MFC que vous avez créée dans How to : Create the User Control and Host MDI View.

  2. Ajoutez la ligne suivante à la section remplacements publics de la CMFC02View déclaration de classe dans MFC02View.h.

    gcroot<WindowsFormsControlLibrary1::UserControl1 ^> m_ViewControl;

  3. Ajoutez une substitution pour OnInitialupdate.

    Affichez la fenêtre Propriétés (F4). En mode Classe (Ctrl+Maj+C), sélectionnez la classe CMFC02View. Dans la fenêtre Propriétés , sélectionnez l’icône pour les remplacements. Scoll down the list to OnInitialUpdate. Cliquez sur la liste déroulante, puis sélectionnez <Ajouter>. Dans MFC02View.cpp. Vérifiez que le corps de la fonction OnInitialUpdate est le suivant :

    CWinFormsView::OnInitialUpdate();
    m_ViewControl = safe_cast<WindowsFormsControlLibrary1::UserControl1 ^>(this->GetControl());
    m_ViewControl->textBox1->Text = gcnew System::String("hi");
    
  4. Générez et exécutez le projet.

    Dans le menu Générer, cliquez sur Générer la solution.

    Dans le menu Débogage , cliquez sur Démarrer sans débogage.

    Notez que la zone de texte est maintenant initialisée.

Voir aussi

Hébergement d’un contrôle utilisateur Windows Forms en tant que vue MFC