PDA

View Full Version : سوال: ،حرفه ای : مدیریت کنترل ها در زمان اجرا



JaVa
سه شنبه 13 تیر 1391, 17:45 عصر
با سلام و خسته نباشید...

من اومدم با این دستور یه نوعه Timer ایجاد کردم.


Dim Tmr As New Timer

tmr.Enabled = True
tmr.Interval = 1000


و تنظیماتی رو براش تنظیم کردم حالا اگه بخوام یه روال براش ایجاد کنم که دستوراتی رو توش بنویسم دقیقا باید چکار باید کرد.؟

با تشکر./

JaVa
سه شنبه 13 تیر 1391, 18:00 عصر
Private Sub FrmMain_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
tmr.Enabled = True
Tmr.Interval = 100

End Sub
Private Sub tmr_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs)
TAD.Persian()
End Sub


تا اینجاش رو خودم فهمیدم ولی نمیدونم چرا تایمر فقط اجرا نمیشه!!!!!!!!

ROSTAM2
سه شنبه 13 تیر 1391, 19:00 عصر
ببين تايمر رو بايد براي ماجول كد فرم عمومي تعريف كنيد و از دستور WithEvents استفاده كنيد بعد Timer رو در قسمت Object‌انتخاب كنيد و پروسيجر Tick رو هم از قسمت Procedures كه در قسمت فوقاني ماجول كد فرم اين دو قسمت بصورت ليست كشويي (ComboBox) موجودند


Dim WithEvents Tmr As New Timer With {.Enabled = True,.Interval=1000}


با اين نوع تعريف در قسمت Declaration از ماجول كد فرم ، بصورت عمومي بهمراه Event هاش مثل يك شئ عمل مي كنه كه فقط در قسمت كدينگ فرم قابل دسترسي هست ، اگه اينگونه اشياء با نوع Public تعريف بشن در سطح پروژه قابل دسترسي اند

the king
سه شنبه 13 تیر 1391, 20:24 عصر
این Private Sub tmr_Tick یک Sub ای است که چیزی رو Handles نمی کنه، با rivate Sub FrmMain_Load مقایسه اش کنید.
مثل این می مونه که برای رخداد یک کنترلی کد بنویسید و بعد کنترل رو حذف کنید و یک کنترل دیگه روی فرم قرار دهید،
حتی اگر اسم کنترل ها یکی باشه، بخش Handles از Sub حذف میشه و کد اون رخداد به کنترل جدید وصل نیست،
مگر اینکه خودتون با کد نویسی متصل اش کنید.

طبیعتا اگر این Sub رخداد اون تایمر رو Handles نکنه به تیک تایمر هم متصل نیست و فراخوانی نمیشه.

JaVa
سه شنبه 13 تیر 1391, 20:31 عصر
این Private Sub tmr_Tick یک Sub ای است که چیزی رو Handles نمی کنه، با rivate Sub FrmMain_Load مقایسه اش کنید.
مثل این می مونه که برای رخداد یک کنترلی کد بنویسید و بعد کنترل رو حذف کنید و یک کنترل دیگه روی فرم قرار دهید،
حتی اگر اسم کنترل ها یکی باشه، بخش Handles از Sub حذف میشه و کد اون رخداد به کنترل جدید وصل نیست،
مگر اینکه خودتون با کد نویسی متصل اش کنید.

طبیعتا اگر این Sub رخداد اون تایمر رو Handles نکنه به تیک تایمر هم متصل نیست و فراخوانی نمیشه.

تشکر از همگی