1

Visual Studio 2012 の c++/cli で、デザイナー ビューで使用できるカスタム DataGridView クラスが必要です。

System::Windows::Forms::UserControl から継承するデフォルトの clr ユーザーを作成し、UserControl を DataGridView に変更しましたが、C++ では機能しませんでした。C#で動作します。[1]

ゼロからのコードもデザイナーによって認識されませんでした。[2]

クラスに DataGridView を配置する必要があるようですが、grid->GetName.. の代わりに grid->view->GetName.. のようなメンバーにアクセスする必要があります。そして、これらすべての奇妙な構文の後に CLR が意図されていたように、パターン化されません。

[1] http://msdn.microsoft.com/en-us/library/7h62478z.aspx

[2] Windows フォーム デザイナーを使用してユーザー コントロールを追加する

4

1 に答える 1

2

Visual Studio 2010 の場合は、次の手順に従います。この手順は、Visual Studio 2012 にも有効です。

  1. 新しいVisualC++ を作成 -> CLR -> ClassLibraryプロジェクト (例: CustomDataGridView)
  2. System.Windows.Forms参照をプロジェクトに追加します。
  3. CustomDataGridView.hの内容を次のように変更します。

    #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.
        };
    }
    
  4. プロジェクトをコンパイルする
  5. フォームでプロジェクトを開く/作成し、そのフォームを開く
  6. ツールボックスを右クリックし、[項目の選択... ] を選択します。
  7. CustomDataGridView.dllを参照し、カスタム コントロールをロードします。
  8. これで、MyDataGridViewがツールボックスにリストされます。ドラッグ & ドロップでフォームに配置できます。
于 2013-03-04T20:55:53.407 に答える