我正在尝试创建一个程序,当您单击鼠标时会创建多个圆圈。问题是每次我点击另一个地方时它们都会消失(删除)。 我创建了一个名为Ellipse的类,保存了我的圆圈。然后我把所有放在一个名为Ellipses的堆栈中。 我已经查看了不同的解决方案,但仍删除旧的省略号。 我想知道我做错了什么。
这是我的代码。
public partial class Form1 : Form
{
int x,y;
Queue<MyEllipce> ellipses = new Queue<MyEllipce>();
MyEllipce ellipse;
public Form1()
{
InitializeComponent();
this.MouseClick += new MouseEventHandler(Form1_MouseClick);
}
private void Form1_Load(object sender, EventArgs e)
{
}
void Form1_MouseClick(object sender, MouseEventArgs e)
{
x = e.X;
y = e.Y;
ellipse = new MyEllipce(x, y);
ellipses.Enqueue(ellipse);
Invalidate();
}
private void btnTaBort_Click(object sender, EventArgs e)
{
}
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
foreach (MyEllipce item in ellipses)
{
Graphics g = e.Graphics;
MyEllipce ellipse= ellipses.Peek();
ellipse.Draw(g, x, y);
}
}
}
class MyEllipce
{
int x = 0;
int y = 0;
int diameter = 5;
//Constructor
public MyEllipce(int x, int y)
{
this.x = x;
this.y = y;
}
public void Draw(Graphics g, int x, int y)
{
SolidBrush brush = new SolidBrush(Color.Red);
g.FillEllipse(brush,x,y,diameter,diameter);
}
}
答案 0 :(得分:1)
更改此
SELECT DISTINCT
gastos.gastoID,
gastos.userID,
tiposPagoGastos.tiposPagoID,
tiposPago.tipoPago
FROM gastos
LEFT JOIN tiposPagoGastos
ON gastos.gastoID = tiposPagoGastos.gastoID
LEFT JOIN tiposPago
ON tiposPagoGastos.tiposPagoID = tiposPago.tiposPagoID
WHERE gastos.userID = 8
到此
ellipse.Draw(g, x, y);
删除“偷看”行。