Практическое руководство. Вызов свойств и методов элемента управления Windows Forms
Так как CWinFormsView::GetControl возвращает указатель System.Windows.Forms.Controlна , а не WindowsControlLibrary1::UserControl1
указатель на, рекомендуется добавить элемент типа пользовательского элемента управления и инициализировать его в IView::OnInitialUpdate. Теперь можно вызывать методы и свойства с помощью m_ViewControl
.
В этом разделе предполагается, что вы ранее выполнили инструкции. Создание пользовательского элемента управления и узла в диалоговом окне и практическое руководство. Создание пользовательского элемента управления и представления MDI узла.
Создание ведущего приложения MFC
Откройте приложение MFC, созданное в разделе "Практическое руководство. Создание пользовательского элемента управления и представления MDI узла".
Добавьте следующую строку в раздел общедоступных переопределения
CMFC02View
объявления класса в MFC02View.h.gcroot<WindowsFormsControlLibrary1::UserControl1 ^> m_ViewControl;
Добавьте переопределение для OnInitialupdate.
Отображение окна "Свойства" (F4). В представлении классов (CTRL+SHIFT+C) выберите класс CMFC02View. В окне "Свойства" выберите значок переопределения. Скобок вниз по списку в OnInitialUpdate. Щелкните раскрывающийся список и нажмите кнопку <"Добавить>". В MFC02View.cpp. Убедитесь, что текст функции OnInitialUpdate выглядит следующим образом:
CWinFormsView::OnInitialUpdate(); m_ViewControl = safe_cast<WindowsFormsControlLibrary1::UserControl1 ^>(this->GetControl()); m_ViewControl->textBox1->Text = gcnew System::String("hi");
Постройте и запустите проект.
В меню Сборка выберите Построить решение.
В меню отладки нажмите кнопку "Пуск" без отладки.
Обратите внимание, что текстовое поле теперь инициализировано.
См. также
Размещение пользовательского элемента управления формы Windows Forms в качестве представления MFC