Событие клика не запускается из пользовательского элемента управления, нарисованного с graphicsPath - PullRequest
2 голосов
/ 18 мая 2019

Я создаю пользовательский контроль с graphicspath. Когда я назначаю событие click в моем основном классе winform, оно не срабатывает при нажатии на usercontrol. Я думал, что это как-то связано с областью пользовательского контроля, поэтому я создал новую область с графическим путем моей фигуры. Я не вижу другой причины, почему это не стрельба. Чего мне не хватает?

Назначить событие

public abstract class BaseShape : UserControl
{
    protected void DrawFill(PaintEventArgs e)
    {
        GraphicsPath path = CreatePath();
        e.Graphics.SmoothingMode = SmoothingMode.AntiAlias;
        using (SolidBrush brush = new SolidBrush(Fill.Color))
        {
            e.Graphics.FillPath(brush, path);
        }
        this.Region = new Region(path);
    }
}

public partial class Circle : BaseShape
{
    protected override GraphicsPath CreatePath()
    {
        GraphicsPath path = new GraphicsPath();
        path.StartFigure();
        path.AddEllipse(Contour.Weight, Contour.Weight, this.Width - 2 * Contour.Weight, this.Height - 2 * Contour.Weight);
        this.Region = new Region(path);
        return path;
    }
}

public partial class Main : Form
{
    private void Circle1_Click(object sender, EventArgs e)
    {
        MessageBox.Show("tnjek");
    }
}
...