alasht
جمعه 29 مهر 1390, 13:01 عصر
با سلام
من میخوام با خاصیتهای Top , Left یک دکمه طوری کار کنم که با برخورد دکمه به دیواره های فرم جهتش عوض بشه و به سمت دیگه ای بره
مثل اسکرین سیور Bubbles در ویندوز 7 که با برخوردها حبابها با همدیگر یا با برخورد به دیواره ی ویندوز جهتشون عوض میشه
من یه چیزایی نوشتم اما فقط یکبار میره و و بار دوم متوقف میشه
کدی که من نوشتم اینه
private void timer1_Tick(object sender, EventArgs e)
{
Random top = new Random();
Random bottom = new Random();
Random left = new Random();
Random right = new Random();
int i = top.Next(0, this.Height);
int j = bottom.Next(0, this.Height);
int k = left.Next(0, this.Width);
int l = right.Next(0, this.Width);
if (button1.Top < this.Height - 70)
{
button1.Top += 10;
button1.Left += 5;
}
else if (button1.Top > 0)
{
button1.Left += 10;
button1.Top -= 5;
}
}
درون فرم یک دکمه بزارید و یک تایمر
کد بالا رو درون تایمر بزارید و رویداد کلیک دکمه بنویسید
timer1.Start();
حالا اجراش کنید متوجه میشید مشکل کجاست
ممنون میشم راهنمایی کنید
با تشکر
من میخوام با خاصیتهای Top , Left یک دکمه طوری کار کنم که با برخورد دکمه به دیواره های فرم جهتش عوض بشه و به سمت دیگه ای بره
مثل اسکرین سیور Bubbles در ویندوز 7 که با برخوردها حبابها با همدیگر یا با برخورد به دیواره ی ویندوز جهتشون عوض میشه
من یه چیزایی نوشتم اما فقط یکبار میره و و بار دوم متوقف میشه
کدی که من نوشتم اینه
private void timer1_Tick(object sender, EventArgs e)
{
Random top = new Random();
Random bottom = new Random();
Random left = new Random();
Random right = new Random();
int i = top.Next(0, this.Height);
int j = bottom.Next(0, this.Height);
int k = left.Next(0, this.Width);
int l = right.Next(0, this.Width);
if (button1.Top < this.Height - 70)
{
button1.Top += 10;
button1.Left += 5;
}
else if (button1.Top > 0)
{
button1.Left += 10;
button1.Top -= 5;
}
}
درون فرم یک دکمه بزارید و یک تایمر
کد بالا رو درون تایمر بزارید و رویداد کلیک دکمه بنویسید
timer1.Start();
حالا اجراش کنید متوجه میشید مشکل کجاست
ممنون میشم راهنمایی کنید
با تشکر