Я пытаюсь показать свой Ripple Effect, когда по элементу управления нажимают, но он не работает.Я думаю, что это был какой-то бесконечный цикл, но я не могу найти ошибки.Вот мой код в OnMouseClick:
protected override void OnMouseClick(MouseEventArgs e)
{
base.OnMouseClick(e);
xx = MousePosition.X;
yy = MousePosition.Y;
allow = true;
while (allow)
{
Invalidate();
}
}
, и это мой код в OnPaint:
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
var G = e.Graphics;
G.DrawString(Text, Font, new SolidBrush(ForeColor), R, SF);
if (SizeAnimation > 190) allow = false;
if (allow)
{
SizeAnimation = SizeAnimation + 25;
G.FillEllipse(new SolidBrush(Color.FromArgb(198, 180, 232)), xx, yy, SizeAnimation, SizeAnimation);
G.DrawString(Text, Font, new SolidBrush(ForeColor), R, SF);
}
}
Размер элемента управления составляет 145 и 45. Может ли кто-нибудь объяснить мне ошибки ипочини это?Большое спасибо: D