بسیار بسیار ممنون از شما!

من کدهای بالا رو یکم دستکاری کردم تا برای نمایش به کاربر مناسب باشه.


کاربران عزیز قطعه کد زیر رو به برنامه اضافه کنید :



using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Windows.Forms;


// Thanks to
// rahnema1 [https://barnamenevis.org]
// test and improved by amir4317
namespace BuzzerTest
{
public static class Buzzer
{
private static Point PolarToCartesian(double distance, double angle)
{
return new Point((int)(Math.Cos(angle) * distance), (int)(Math.Sin(angle) * distance));
}

private static IEnumerable<Point> Halazoon(double startAngle, int scale, Size offset, int range = 180)
{
for (var i = 1; i < range; i++)
{
yield return
Point.Add(
PolarToCartesian(Math.Sqrt(i + 1) * scale,
startAngle += Math.Acos(Math.Sqrt((double)i / (i + 1)))),
offset);
}
}
public static void BuzzerMe(this Form form, int scale = 1, int sleep = 3, int range = 180)
{
var pts = Halazoon(0.0, scale, new Size(form.DesktopLocation), range);
var elements = pts as IList<Point> ?? pts.ToList();
for (var i = elements.Count - 1; i > 1; i--)
{
form.DesktopLocation = elements[i];
//Refresh();
form.BringToFront();
System.Threading.Thread.Sleep(sleep);
}

//CreateGraphics().DrawLines(Pens.Black, elements.ToArray());
}



}
}





و درون فرمتون هنگامی که میخواهید فرم ویبره بزنه از این کد خیلی راحت استفاده کنید:

this.BuzzerMe();


برنامه‌ی مثال برای شما آماده کردم:بدانلودید و لذت ببرید!
(صلوات توی این ماه عزیز فراموش نشه!)