как создать пользовательский элемент управления, наследуемый от класса form.control

#visual-c #c -cli

#visual-c #c -cli

Вопрос:

как сказано в заголовке, я хочу создать пользовательский элемент управления из класса control.
но он не отображается в окне формы приложения.
это работает, когда я меняю базовый класс с control на usercontrol.

любой может мне помочь, спасибо.

 #pragma once

#using <System.dll>
#using <System.Drawing.dll>
#using <System.Windows.Forms.dll>

using namespace System;
using namespace System::Drawing;
using namespace System::Windows::Forms;

namespace cc {
    public ref class Class1 : public System::Windows::Forms::Control
    {
        // TODO: Add your methods for this class here.

    public:
        Class1()
        {
            this->SetStyle(ControlStyles::ResizeRedraw, true);
            this->SetStyle(ControlStyles::UserPaint, true);
            this->SetStyle(ControlStyles::AllPaintingInWmPaint, true);
        }


    protected:
        virtual void OnPaint(  PaintEventArgs^ e ) override
        {
            __super::OnPaint(e);
            System::Drawing::Rectangle rcRect = this->ClientRectangle;

            // Create a local version of the graphics object for the PictureBox.
            Graphics^ g = e->Graphics;

            // Draw a string on the PictureBox.
            g->DrawString("This is a diagonal line drawn on the control",
                gcnew System::Drawing::Font("Arial",10), System::Drawing::Brushes::Blue, Point(30,30));
            // Draw a line in the PictureBox.
            g->DrawLine(System::Drawing::Pens::Red, this->Left, this->Top,
                this->Right, this->Bottom);
        }
    };
}
 

Комментарии:

1. Работает нормально, когда я пытаюсь это сделать. В коде нет ничего плохого. Может быть, что-то не так с тем, куда вы его поместили, трудно догадаться.