如何:呼叫 Windows Form 控制項的屬性和方法
由於 CWinFormsView::GetControl 會傳回 的System.Windows.Forms.Control指標,而不是 的指標WindowsControlLibrary1::UserControl1
,因此建議您新增使用者控件類型的成員,並在 IView::OnInitialUpdate 中初始化它。 現在您可以使用 來呼叫方法和屬性 m_ViewControl
。
本主題假設您先前 已完成如何:在對話框中 建立使用者控件和主機, 以及如何:建立使用者控件和主機 MDI 檢視。
建立 MFC 主應用程式
開啟您在 How to: Create the User Control and Host MDI View 中建立的 MFC 應用程式。
將下列這一行新增至 MFC02View.h 中類別宣告的
CMFC02View
public overrides 區段。gcroot<WindowsFormsControlLibrary1::UserControl1 ^> m_ViewControl;
新增 OnInitialupdate 的覆寫。
顯示 [ 屬性] 視窗 (F4)。 在 [類別檢視 ] 中,選取 [CMFC02View] 類別。 在 [ 屬性] 視窗中,選取 [覆寫] 的圖示。 將清單向下卷動至 OnInitialUpdate。 按兩下拉式清單,然後選取[ <新增>]。 在 MFC02View.cpp。 請確定 OnInitialUpdate 函式的主體如下所示:
CWinFormsView::OnInitialUpdate(); m_ViewControl = safe_cast<WindowsFormsControlLibrary1::UserControl1 ^>(this->GetControl()); m_ViewControl->textBox1->Text = gcnew System::String("hi");
建置並執行專案。
在 [建置] 功能表上,按一下 [建置方案]。
在 [偵錯] 功能表上,單擊 [開始但不偵錯]。
請注意,文字框現在已初始化。