PDA

View Full Version : سوال: ایجاد تایمری واحد برای چندین عملیات مشابه



saeidmobashery
پنج شنبه 12 بهمن 1402, 23:42 عصر
سلام بر اساتید اهل فن
بنده چندین باتن (دکمه) روی فرم دارم که پس از کلیک بر روی آن‌ها و اتمام عملیات مربوط به هر کدام می‌خواهم اسم دکمه‌ها به OK تغییر و پس از نیم ثانیه به اسم اصلی دکمه تغییر یابد
راهکاری که به ذهنم می‌رسد برای هر دکمه یک تایمر به فرم اضافه کنم
راهکاری وجود دارد که نیاز به ایجاد یک تایمر مجزا برای هر دکمه نباشد ؟
مثلا سابروتینی درست کنم که اسم باتن را بگیرد و این عملیات را برای آن باتن خاص انجام دهد ؟

سپاس از حضور دوستان و اساتید گرامی در این سایت مفید

پرستو پارسایی
جمعه 13 بهمن 1402, 18:03 عصر
بله، میتوانید از یک سابروتین (subroutine) استفاده کنید تا نام دکمه را دریافت و عملیات مربوط به آن دکمه را انجام دهید. در این صورت، نیازی به ایجاد یک تایمر مجزا برای هر دکمه نخواهید داشت.



Private Sub Button_Click(sender As Object, e As EventArgs) Handles Button1.Click, Button2.Click, Button3.Click
Dim button As Button = DirectCast(sender, Button)
button.Text = "OK"


Dim buttonName As String = button.Name
Dim timer As New Timer()
timer.Interval = 500 ' 500 میلی ثانیه (نیم ثانیه)
AddHandler timer.Tick, Sub(s, args)
button.Text = buttonName
timer.Stop()
timer.Dispose()
End Sub
timer.Start()


' دستورات مربوط به عملیاتی که بعد از کلیک دکمه انجام میشود
End Sub

saeidmobashery
یک شنبه 15 بهمن 1402, 20:35 عصر
سلام و سپاس استاد عزیزم
مثل همیشه عاااااااااالی بود
سایه شما مستدام انشاالله