رفتن به مطلب
  • 0

DoEvents


حمید زارع

سوال

سلام دوستان 

 

این قطعه کد که پایین گذاشتم  جزیی از کدهایی هست که در مولتی پنل به کار بردم

 

و کارش اینه که اندازه پنل ها تعیین میکنه

 

یعنی من مثلا Subject.Height=-2 قرار دادم بعد با این کد ارتفاعش رو می گیرم و برحسب اون ارتفاع پنلم رو تنظیم می کنم

 

اگه DoEvents رو از اول کدها بردارم اصلا مابقی کدها اجرا نمیشه

 

اگر هم باشه پر شدن مولتی پنل خیلی کند انجام میشه

 

چه کار کنم به نظرتون

Dim Obj As Reflector
Dim H,DesH,SubjectH as Int

			DoEvents
			Obj.Target=LblSubject
			SubjectH=Obj.RunMethod("getHeight")
			Obj.Target=LblDes
			DesH= Obj.RunMethod("getHeight")+H
			H=SubjectH+DesH+LblDate.Height
			
			PnlHazineh.Height=h

لینک ارسال
به اشتراک گذاری در سایت های دیگر

5 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

 

سلام دوستان 

 

این قطعه کد که پایین گذاشتم  جزیی از کدهایی هست که در مولتی پنل به کار بردم

 

و کارش اینه که اندازه پنل ها تعیین میکنه

 

یعنی من مثلا Subject.Height=-2 قرار دادم بعد با این کد ارتفاعش رو می گیرم و برحسب اون ارتفاع پنلم رو تنظیم می کنم

 

اگه DoEvents رو از اول کدها بردارم اصلا مابقی کدها اجرا نمیشه

 

اگر هم باشه پر شدن مولتی پنل خیلی کند انجام میشه

 

چه کار کنم به نظرتون

			DoEvents
			Obj.Target=LblSubject
			SubjectH=Obj.RunMethod("getHeight")
			Obj.Target=LblDes
			DesH= Obj.RunMethod("getHeight")+H
			H=SubjectH+DesH+LblDate.Height
			
			PnlHazineh.Height=h

 

والا داداش من اونقدر که میدونم دستور DoEvents  مانع از باک برنامه میشه میشه و بیشتر اوقات هم برای این منظور به کار میره 

دیگه بقیشو نمیثدونم (یعنی فکر نکنم چنین کاری که شما میگید رو بکنه شاید اطلاعاتی که از دیتابیس لود میکنید سنگینه و گیر میکنه)

لینک ارسال
به اشتراک گذاری در سایت های دیگر

نه وقتی این کد رو حذف می کنم سرعتم خوب میشه

 

همه مشکل من تنظیم ارتفاع پنلام هست

 

اگه روش دیگه ای هستکه سرعت رو پایین نیاره راهنمایی کنید

لینک ارسال
به اشتراک گذاری در سایت های دیگر

نه وقتی این کد رو حذف می کنم سرعتم خوب میشه

 

همه مشکل من تنظیم ارتفاع پنلام هست

 

اگه روش دیگه ای هستکه سرعت رو پایین نیاره راهنمایی کنید

 

لیمیت کردن که اطلاعاتو کم کم میخونه سرعتت توپ میشه  و مشکلت حل میشه فکر کنم تو فرشگاه انجمن آموزشش هست

لینک ارسال
به اشتراک گذاری در سایت های دیگر

آره اونو دیدم

 

ولی فعلن نیاز به اون نیست

 

کدها رو به این شکل عوض کردم

 

خیلی بهتر شد

ِ               Dim SU As StringUtils
			LblSubject.Height=SU.MeasureMultilineTextHeight(LblSubject,LblSubject.Text)
			LblDes.Height=SU.MeasureMultilineTextHeight(LblDes,LblDes.Text)
			H=LblDes.Height+LblSubject.Height+3%y
			IntStop=IntStop+h
			PnlHazineh.Height=H

درست انجام دادم ؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

آره اونو دیدم

 

ولی فعلن نیاز به اون نیست

 

کدها رو به این شکل عوض کردم

 

خیلی بهتر شد

ِ               Dim SU As StringUtils
			LblSubject.Height=SU.MeasureMultilineTextHeight(LblSubject,LblSubject.Text)
			LblDes.Height=SU.MeasureMultilineTextHeight(LblDes,LblDes.Text)
			H=LblDes.Height+LblSubject.Height+3%y
			IntStop=IntStop+h
			PnlHazineh.Height=H

درست انجام دادم ؟

 

تقریبا درسته آره

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...