无法在鼠标双击事件上创建椭圆

时间:2016-05-12 10:42:13

标签: c# graphics mouseevent

我想在双击时在文本框中创建一个elipse。但它似乎没有发生。

panel.MouseClick += create_terms;

private void create_terms(object sender, EventArgs arg)
{
    if (Phys_terms_check.Checked == true)
    {
         MouseEventArgs e = (MouseEventArgs)arg;
            Graphics g = CreateGraphics();
            SolidBrush p = new SolidBrush(Color.Red);
            Pen erase = new Pen(Color.White);

            Panel panel = (Panel)sender;
            g.FillEllipse(p, e.X+panel.Left,e.Y+panel.Top,10,10);
    }
}

e.xe.y似乎正在给出发件人的相对坐标。如何获得相对于表单的点。

1 个答案:

答案 0 :(得分:0)

添加发件人的顶部和左侧坐标。

g.FillEllipse(p, e.X + textbox.Left, e.Y + textbox.Top, 10, 10);

但是,这不会显示,因为textbox paint事件填充了fire和重绘文本框。