description | title | ms.custom | ms.date | helpviewer_keywords | ms.assetid | ||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Learn more about: How to: Call Properties and Methods of the Windows Forms Control |
How to: Call Properties and Methods of the Windows Forms Control |
get-started-article |
11/04/2016 |
|
6e647d8a-fdaa-4aa1-b3fe-04f15cff8eb3 |
Because CWinFormsView::GetControl returns a pointer to xref:System.Windows.Forms.Control?displayProperty=fullName, and not a pointer to WindowsControlLibrary1::UserControl1
, it is advisable to add a member of the user control type and initialize it in IView::OnInitialUpdate. Now you can call methods and properties using m_ViewControl
.
This topic assumes you have previously completed How to: Create the User Control and Host in a Dialog Box and How to: Create the User Control and Host MDI View.
-
Open the MFC application you created in How to: Create the User Control and Host MDI View.
-
Add the following line to the public overrides section of the
CMFC02View
class declaration in MFC02View.h.gcroot<WindowsFormsControlLibrary1::UserControl1 ^> m_ViewControl;
-
Add an override for OnInitialupdate.
Display the Properties window (F4). In Class View (CTRL+SHIFT+C), select CMFC02View class. In the Properties window, select the icon for Overrides. Scoll down the list to OnInitialUpdate. Click on the drop down list and select <Add>. In MFC02View.cpp. make sure the body of the OnInitialUpdate function is as follows:
CWinFormsView::OnInitialUpdate(); m_ViewControl = safe_cast<WindowsFormsControlLibrary1::UserControl1 ^>(this->GetControl()); m_ViewControl->textBox1->Text = gcnew System::String("hi");
-
Build and run the project.
On the Build menu, click Build Solution.
On the Debug menu, click Start without debugging.
Notice that the text box is now initialized.