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_ViewControl
de .
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
Ouvrez l’application MFC que vous avez créée dans How to : Create the User Control and Host MDI View.
Ajoutez la ligne suivante à la section remplacements publics de la
CMFC02View
déclaration de classe dans MFC02View.h.gcroot<WindowsFormsControlLibrary1::UserControl1 ^> m_ViewControl;
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");
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