実行時にカスタム コントロールを追加しようとしています。そこで、独自のペイント メソッドを使用してカスタム コントロールを作成しました。「追加」ボタンがクリックされるたびに、新しいコントロールが作成され、メイン フォームに追加されます。しかし、コントロールを追加している間、他のコントロールを見ることはできませんが、最初のコントロールのみです。何が起こっているのかわかりません。誰か助けてくれますか? 前もって感謝します。
public ref class CustomLine : public UserControl
{
private:
Point P1,P2;
Pen ^pen;
public:
CustomLine(Point p1, Point p2)
{
P1 = p1;
P2 = p2;
pen = gcnew Pen(Color::Red,2);
}
protected:
virtual void OnPaint(System::Windows::Forms::PaintEventArgs ^e) override
{
e->Graphics->DrawLine(pen,P1,P2);
}
};
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e)
{
int xx1 = Convert::ToInt32(this->x1->Text);
int yy1 = Convert::ToInt32(this->y1->Text);
int xx2 = Convert::ToInt32(this->x2->Text);
int yy2 = Convert::ToInt32(this->y2->Text);
CustomLine ^cline = gcnew CustomLine(Point(xx1,yy1),Point(xx2,yy2));
this->Controls->Add(cline);
this->Invalidate();
}