PDA

View Full Version : سوال: چگونه چند عکس رو بصورت همزمان در فرم درحالت خاموش روشن قراردهیم ؟



narpco
شنبه 24 آبان 1399, 12:10 عصر
سلام بر دوستان

یک فرم داریم روی فرم 13 عدد عکس فلش قرمز رنگ هست که کنار تکست باکس ها قرارگرفته (بصورت فرضی و مثال )
میخواهیم همه این فلش های قرمز رنگ با هم خاموش روشن شوند
من یک کد بلد بودم نوشتم ولی با کمی تاخیر این کار انجام میشه
میشه اگر دوستان کد بهتری بلد هستن راهنمایی بفرمایید و اطلاح کنید در فایل نمونه


با سپاس
فایل نمونه :
https://s17.picofile.com/file/8413918684/on_off_test.rar.html

eb_1345
شنبه 24 آبان 1399, 12:47 عصر
سلام بر دوستان

یک فرم داریم روی فرم 13 عدد عکس فلش قرمز رنگ هست که کنار تکست باکس ها قرارگرفته (بصورت فرضی و مثال )
میخواهیم همه این فلش های قرمز رنگ با هم خاموش روشن شوند
من یک کد بلد بودم نوشتم ولی با کمی تاخیر این کار انجام میشه
میشه اگر دوستان کد بهتری بلد هستن راهنمایی بفرمایید و اطلاح کنید در فایل نمونه


با سپاس
فایل نمونه :
https://s17.picofile.com/file/8413918684/on_off_test.rar.html



سلام
چرا مقدار TimerInterval فرم رو تغییر نمیدهی ؟ مثلاً بجای 1000 عدد 500 قرار بدهی

narpco
شنبه 24 آبان 1399, 16:58 عصر
سلام .....والله اینتروال هرچی میتونه باشه مهم نیست
الان چون توی فرم فقط عکس و چند تا تکست ساده است خیلی به نظر نمیاد این تاخیر وقتی فرم سنگین باشه کامل تاخیرش دیده میشه بیشتر دنبال کدی هستم که همه رو با هم خاموش روشن کنه ...

eb_1345
شنبه 24 آبان 1399, 23:13 عصر
سلام .....والله اینتروال هرچی میتونه باشه مهم نیست
الان چون توی فرم فقط عکس و چند تا تکست ساده است خیلی به نظر نمیاد این تاخیر وقتی فرم سنگین باشه کامل تاخیرش دیده میشه بیشتر دنبال کدی هستم که همه رو با هم خاموش روشن کنه ...
این چند خط کد شما در رویداد Form_Timer براحتی میتوان در یک خط هم خلاصه کرد ولی با تغییر کد مشکل شما با روش معمول حل نخواهد شد . چون همین یک خط کد هم باید در رویداد Form_Timer درج گردد.
یک علت عمده بوجود آمدن این تاخیر میتوان در پردازش برنامه شما برای اجرای موضوعی خاص همانند لود شدن یک فرم یا گزارش که دارای یک منبع اطلاعاتی سنگین میباشد و ... دانست ، نشانه ظاهری انجام پردازش هم معمولاً با تغییر شکل آیکن اشاره گر موس بصورت یک ساعت شنی و یا یک دایره چرخشی است . معمولا در طول زمان پردازش اجرای رویدادهای دیگر از جمله رویداد Form_Timer متوقف میشود .به همین خاطر ، عمل ظاهر و مخفی شدن ایمیج های مربوطه در زمان پردازش (بسته به زمان پردازش) متوقف میشود.
علی ایحال اگر در برنامه شما در زمانی هم که پردازشی صورت نمیگیرد این تاخیر در ظاهر ومخفی شدن ایمیج ها کاملاً محسوس است باید علت دیگری داشته باشد که نیاز به بررسی بیشتر دارد.

narpco
یک شنبه 25 آبان 1399, 08:49 صبح
سلام ممنون میشم بفرمایید این کد ها را چطوری در یک خط خلاصه کنیم ......حالا یه مرحله کار رو بریم جلو تا بقیه قضایا رو تست کنم و در موردش صحبت کنیم ...ممنونم

eb_1345
یک شنبه 25 آبان 1399, 10:30 صبح
سلام ممنون میشم بفرمایید این کد ها را چطوری در یک خط خلاصه کنیم ......حالا یه مرحله کار رو بریم جلو تا بقیه قضایا رو تست کنم و در موردش صحبت کنیم ...ممنونم

سلام
کد زیر را جایگزین کدهای خودت در رویداد Form_Timer بکن !


Dim intCounter As Integer

For intCounter = 1 To 13
Me("img" & intCounter).Visible = (IIf(Me("img" & intCounter).Visible = 0, 1, 0))
Next

narpco
یک شنبه 25 آبان 1399, 11:26 صبح
عزیز ممنون زحمت کشیدید مشکل حل شد