Procedura: chiamare proprietà e metodi del controllo Windows Form
CWinFormsView::GetControl restituisce un puntatore a System.Windows.Forms.Control e non a WindowsControlLibrary1::UserControl1. È pertanto consigliabile aggiungere un membro del tipo di controllo utente e inizializzarlo in IView::OnInitialUpdate. Sarà quindi possibile chiamare metodi e proprietà utilizzando m_ViewControl.
In questo argomento si presuppone che in precedenza siano state completate le procedure Procedura: creare il controllo utente e inserirlo in una finestra di dialogo e Procedura: creare il controllo utente e inserirlo nella visualizzazione MDI.
Per creare l'applicazione host MFC
Aprire l'applicazione MFC creata in Procedura: creare il controllo utente e inserirlo nella visualizzazione MDI.
Aggiungere la seguente riga alla sezione di override pubblica della dichiarazione di classe CMFC02View in MFC02View.h:
gcroot<WindowsFormsControlLibrary1::UserControl1 ^> m_ViewControl;
Aggiungere un override di OnInitialupdate.
Visualizzare la finestra Proprietà (F4). In Visualizzazione classi (CTRL+MAIUSC+C), selezionare la classe CMFC02View. Nella finestra Proprietà selezionare l'icona per Override. Scorrere verso il basso l'elenco fino a OnInitialUpdate. Fare clic sull'elenco a discesa e selezionare <Aggiungi>. In MFC02View.cpp. verificare 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");
Compilare ed eseguire il progetto.
Dal menu Compila, fare clic su Compila soluzione.
Scegliere Avvia senza eseguire debug dal menu Debug.
La casella di testo risulta ora inizializzata.
Vedere anche
Altre risorse
Hosting di un controllo utente Windows Form come visualizzazione MFC