+2 امتیاز

سلام. چجوری میشه یک چیزی مثل عکس یا دکمه یا مثلا Lable رو توی یک صفحه با کمک تایمر ، به صورت Random به حرکت دراورد؟ یعنی توی صفحه ، به اینطرف و اونطرف بره. و از صفحه خارج نشه؟ (مثل یک ماهی توی آکواریوم)

من این کد رو دارم

private void timer1_Tick(object sender, EventArgs e)
{
    string location;
    label1.Left = label1.Left + 2;
    location = label1.Left.ToString();
    if (location == (550).ToString())
        label1.Left = -220;
}

اما از چپ به راست حرکت میکنه و از صفحه خارج میشه!

بسته شده

1 پاسخ

+2 امتیاز
 
بهترین پاسخ
سلام ، نرم افزار جلو دستم نیست نمی تونم کد بنویسم . الگوریتمش رو براتن می گم . ببینید شما بیاین با استفاده از کلاس Random دو عدد تصادفی تولید کنید . یکی برای عرض و یکی دیگه برای ارتفاع . حتما حتما این دو عدد باید کوچیکتر از عرض و ارتفاع فرم باشند .

سپس با استفاده از Timer کنترل رو کم کم به نقطه مورد نظر ببر. وقتی به اون نقطه رسید دوباره با استفاده از همون کلاس دو عدد تصادفی دیگه تولید کن و باز هم کنترل رو انتقال بده . به همین ترتیب .
مرسی دوست عزیز. باید از حلقه استفاده کنم؟

اگر بتونی کدش رو بدی بهم ممنون میشم. اگر نتونستی هم فدای سرت. همین ک راهنماییم کردی کلی ارزش داره
توسط (107 امتیاز) 1 5
من با پنجره فرم این کارو کردم شما بجای نام فرم نام لیبل رو وارد کن شاید که بدردت بخوره

 public partial class Form1 : Form
    {
        int c = 5, j = 5;
        bool idx = true;
        public Form1()
        {
            InitializeComponent();
        }

        private void timer1_Tick(object sender, EventArgs e)
        {   if (this.Left > Screen.PrimaryScreen.WorkingArea.Width - this.Width && idx)
            {
                c = -5;
                idx = false;
            }
            else if (this.Left < 0 && !idx)
            {
                c = 5;
                idx = true;
            }

                this.Left += c;
            if (this.Top > Screen.PrimaryScreen.WorkingArea.Height - this.Height && idx)
            {
                j = -5;
                idx = false;
            }
            else if (this.Top < 0 && !idx)
            {
                j = 5;
                idx = true;
            }

            this.Top += j;
          

            }
توسط (108 امتیاز) 2
سوال جدید

2,337 سوال

2,871 پاسخ

3,725 دیدگاه

3,921 کاربر

دسته بندی ها

...