c#Windows 窗体程序弹出对话框取屏幕随机位置移动 5
1个回答
展开全部
你好 我先拿个窗口随机抖动来引入正题吧。
int rand = 10; //这个是随机数的种子 种子越大 抖动的幅度越大 你可以先测试一下 把下面的代码在一个button_Click()执行一下
int recordx = this.Left;
int recordy = this.Top;
Random random = new Random();
for (int i = 0; i < 150; i++)
{
int x = random.Next(rand);
int y = random.Next(rand);
if (x % 2 == 0)
{
this.Left = this.Left + x;
} else
{
this.Left = this.Left - x;
}
if (y % 2 == 0)
{
this.Top = this.Top + y;
} else
{ this.Top = this.Top - y;
}
this.Left = recordx;
this.Top = recordy;
}
下面我再说下你的需求吧 随机移动你就可以把种子调大点 这样就能实现在整个屏幕中移动了 至于控制速度 你可以不用上面的循环 用一个Timer来控制 每隔多长时间来执行窗口位置
如果还有不懂的请继续追问 满意请采纳 谢谢
int rand = 10; //这个是随机数的种子 种子越大 抖动的幅度越大 你可以先测试一下 把下面的代码在一个button_Click()执行一下
int recordx = this.Left;
int recordy = this.Top;
Random random = new Random();
for (int i = 0; i < 150; i++)
{
int x = random.Next(rand);
int y = random.Next(rand);
if (x % 2 == 0)
{
this.Left = this.Left + x;
} else
{
this.Left = this.Left - x;
}
if (y % 2 == 0)
{
this.Top = this.Top + y;
} else
{ this.Top = this.Top - y;
}
this.Left = recordx;
this.Top = recordy;
}
下面我再说下你的需求吧 随机移动你就可以把种子调大点 这样就能实现在整个屏幕中移动了 至于控制速度 你可以不用上面的循环 用一个Timer来控制 每隔多长时间来执行窗口位置
如果还有不懂的请继续追问 满意请采纳 谢谢
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询