C++ 如何从C++/带设计器的CLI

C++ 如何从C++/带设计器的CLI,c++,winforms,user-controls,c++-cli,C++,Winforms,User Controls,C++ Cli,我需要visual studio 2012中c++/cli中的自定义DataGridView类,该类可以在Designer视图中使用 < >我创建了一个默认CLR用户,继承自St::Windows::窗体::UserControl,并将用户控件更改为DATAGIDVIEW,但在C++中却不起作用。它在C#中工作。[1] 设计师也不承认从零开始的代码。[2] 似乎我必须将DataGridView放入类中,但我必须访问其成员,如grid->view->GetName。。而不是网格->获取名称。。现在

我需要visual studio 2012中c++/cli中的自定义DataGridView类,该类可以在Designer视图中使用

< >我创建了一个默认CLR用户,继承自St::Windows::窗体::UserControl,并将用户控件更改为DATAGIDVIEW,但在C++中却不起作用。它在C#中工作。[1]

设计师也不承认从零开始的代码。[2]

似乎我必须将DataGridView放入类中,但我必须访问其成员,如grid->view->GetName。。而不是网格->获取名称。。现在。而且它不会被模式化,因为在所有这些奇怪的语法之后,CLR的本意是什么

[1]


[2] 对于Visual Studio 2010,请按照以下步骤操作。这些步骤也应适用于Visual Studio 2012

  • 创建一个新的VisualC++->CLR->ClassLibrary项目(例如CustomDataGridView)
  • 将System.Windows.Forms引用添加到项目中
  • 将CustomDataGridView.h的内容更改为:

  • 编译您的项目
  • 使用表单打开/创建项目,然后打开该表单
  • 右键单击工具箱并选择“选择项…”
  • 浏览CustomDataGridView.dll并加载自定义控件
  • 现在MyDataGridView应该列在工具箱中,您可以通过拖放将其放到表单上

  • 作品在VisualStudio2012中,第5步是创建一个空的clr项目,然后添加windows窗体。非常感谢。
    #pragma once
    
    using namespace System;
    using namespace System::Windows::Forms;
    
    namespace CustomDataGridView 
    {
        public ref class MyDataGridView : DataGridView
        {
            // TODO: You can include your custom behavior here.
        };
    }