HS71 78 ارسال شده در 11 آذر، ۱۳۹۵ اشتراک گذاری ارسال شده در 11 آذر، ۱۳۹۵ با سلام ، طبق دو تا تاپیک که یکیش اینه: میخوام قبله اینکه اسکرول به انتها برسه لود بشه پنل ها تا وقفه ای ایجاد نشه با این کد: If Scroll.ScrollPosition + Scroll1.Height = Scroll1.Panel.Height Then اما تمام کارهایی که تو تاپیک بود رو کردم + منفی، مثبت، درصد، دیپ، و جابجا کردم کدهارو اما بازم فایده نداشت لطفا اگه راه حلی داره بگید لطفا. لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
امین مهدی نژاد 2,142 ارسال شده در 11 آذر، ۱۳۹۵ اشتراک گذاری ارسال شده در 11 آذر، ۱۳۹۵ کد زیر رو استفاده کنید. If Scroll.ScrollPosition + Scroll1.Height > Scroll1.Panel.Height-500 Then «موفق باشید.» لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
HS71 78 ارسال شده در 11 آذر، ۱۳۹۵ سازنده اشتراک گذاری ارسال شده در 11 آذر، ۱۳۹۵ در 2 ساعت قبل، amin.mn گفته است : کد زیر رو استفاده کنید. If Scroll.ScrollPosition + Scroll1.Height > Scroll1.Panel.Height-500 Then «موفق باشید.» خیلی ممنون فقط یه باگی داره، وقتی آروم آروم اسکرول بشه که درسته. اما اگه سریعتر اسکرول کنیم اسکرول یکم برمیگرده به عقب! درواقع برمیگرده به انتهای پوزیشنی که لیمیت داده شده براش، مثلا اگه از 30 با سرعت عبور کنیم در حالی که شاید تا 50 همین پنل رو باز کنه اما اسکرول برمیگرده به مثلا 40...و با تشکر. لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
Siaic 88 ارسال شده در 12 آذر، ۱۳۹۵ اشتراک گذاری ارسال شده در 12 آذر، ۱۳۹۵ در 7 ساعت قبل، amin.mn گفته است : کد زیر رو استفاده کنید. If Scroll.ScrollPosition + Scroll1.Height > Scroll1.Panel.Height-500 Then «موفق باشید.» سلام استاد من داخل برنامه و اسکرول به آخر میرسه و میخواد اطلاعات جدید بگیره یه مسیج شو میدم که مثلا در حال بارگذاری... حالا میخوام کاری کنم که زمانی که کل اطلاعات نشون دادم در واقع چیزی برای لود کردن نیست دیگه مسیج نشون ندم ولی مشکل اینجا که هر وقت اسکرول به آخر میرسه میگه در حال بارگذاری ولی خب دیگه چیزی داخل دیتابیس نیست اگه میشه راهنمایی بفرمایید لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
امین مهدی نژاد 2,142 ارسال شده در 12 آذر، ۱۳۹۵ اشتراک گذاری ارسال شده در 12 آذر، ۱۳۹۵ در 6 ساعت قبل، Siaic گفته است : سلام استاد من داخل برنامه و اسکرول به آخر میرسه و میخواد اطلاعات جدید بگیره یه مسیج شو میدم که مثلا در حال بارگذاری... حالا میخوام کاری کنم که زمانی که کل اطلاعات نشون دادم در واقع چیزی برای لود کردن نیست دیگه مسیج نشون ندم ولی مشکل اینجا که هر وقت اسکرول به آخر میرسه میگه در حال بارگذاری ولی خب دیگه چیزی داخل دیتابیس نیست اگه میشه راهنمایی بفرمایید شما باید از یه متغیر بولی برای مشخص کردن رسیدن به انتهای دیتابیس استفاده کنید. و هنگام اسکرول مقدار اون رو هم چک کنید که آیا به انتها رسیده یا نه در 11 ساعت قبل، HS71 گفته است : خیلی ممنون فقط یه باگی داره، وقتی آروم آروم اسکرول بشه که درسته. اما اگه سریعتر اسکرول کنیم اسکرول یکم برمیگرده به عقب! درواقع برمیگرده به انتهای پوزیشنی که لیمیت داده شده براش، مثلا اگه از 30 با سرعت عبور کنیم در حالی که شاید تا 50 همین پنل رو باز کنه اما اسکرول برمیگرده به مثلا 40...و با تشکر. شما می تونین مقدار Scroll.ScrollPosition رو قبل از بارگذاری اطلاعات دیتابیس گرفته و بعد از اون دوباره مقدارش رو تنظیم کنید. «موفق باشید.» لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
HS71 78 ارسال شده در 12 آذر، ۱۳۹۵ سازنده اشتراک گذاری ارسال شده در 12 آذر، ۱۳۹۵ در 14 ساعت قبل، amin.mn گفته است : شما باید از یه متغیر بولی برای مشخص کردن رسیدن به انتهای دیتابیس استفاده کنید. و هنگام اسکرول مقدار اون رو هم چک کنید که آیا به انتها رسیده یا نه شما می تونین مقدار Scroll.ScrollPosition رو قبل از بارگذاری اطلاعات دیتابیس گرفته و بعد از اون دوباره مقدارش رو تنظیم کنید. «موفق باشید.» آقا شرمنده دیگه، نمیدونم چرا هرچی تست و عوض میکنم جای کدهارو نمیشه.... خیلی که درست رفتم تونستم اسکرول رو به عقب برنگردونم اما بجاش مثلا به 50 یا هر پوزیشنی که لیمیت داده شده میرسه همونجا درجا توقف میکنه که جالب نیست و از همه مهمتر به آخرین آیتم که میرسه دیگه اسکرول برنمیگرده به عقب و هرچی اسکرول کنیم به عقب یه زره میره اما دوباره سریع میره رو آخره پوزیشن. If Scroll1.ScrollPosition + Scroll1.Height > Scroll1.Panel.Height-600 Then Scroll1.ScrollPosition = Scroll1.ScrollPosition Scroll1.ScrollPosition = Scroll1.ScrollPosition&scorll.height Scroll1.ScrollPosition = Scroll1.ScrollPosition&scorll.height&scroll.panel.height ' If Scroll1.ScrollPosition + Scroll1.Height > Scroll1.Panel.Height Then ' Scroll1.ScrollPosition = Scroll1.ScrollPosition ' End If ' If Scroll1.ScrollPosition + Scroll1.Panel.Height = Scroll1.Panel.Height Then ' Scroll1.ScrollPosition = Scroll1.Height ' End If ' If Scroll1.ScrollPosition + Scroll1.Panel.Height = Scroll1.Panel.Height Then ' Scroll1.ScrollPosition = Scroll1.panel.Height ' End If .................................. بعضی از نمونه کدهایی که نوشتمه اما: انواع این کدهارو نوشتم جابجایم کردم و بعده حلقه هم نوشتم اما درست نشد..... لطفا اگه میشه یکم دقیق تر بگید با مثال مشکل چیه دقیقا ممنون. لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
امین مهدی نژاد 2,142 ارسال شده در 12 آذر، ۱۳۹۵ اشتراک گذاری ارسال شده در 12 آذر، ۱۳۹۵ شما یه متغیر قبل بارگذاری اطلاعات دیتابیس بسازین که مقدار Scroll.ScrollPosition رو ذخیره کنه بعد از بارگذاری کامل اونا هم دوباره مقدار متغیر رو به Scroll.ScrollPosition برگردنه If Scroll1.ScrollPosition + Scroll1.Height > Scroll1.Panel.Height-600 Then Dim pos As Int=Scroll1.ScrollPosition 'اینجا هم برای 'بارگذار داده ها Scroll1.ScrollPosition=pos End If به محلی که برای بارگذاری داده ها مشخص کردذم دقت کنید. «موفق باشید.» لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
HS71 78 ارسال شده در 12 آذر، ۱۳۹۵ سازنده اشتراک گذاری ارسال شده در 12 آذر، ۱۳۹۵ در 55 دقیقه قبل، amin.mn گفته است : شما یه متغیر قبل بارگذاری اطلاعات دیتابیس بسازین که مقدار Scroll.ScrollPosition رو ذخیره کنه بعد از بارگذاری کامل اونا هم دوباره مقدار متغیر رو به Scroll.ScrollPosition برگردنه If Scroll1.ScrollPosition + Scroll1.Height > Scroll1.Panel.Height-600 Then Dim pos As Int=Scroll1.ScrollPosition 'اینجا هم برای 'بارگذار داده ها Scroll1.ScrollPosition=pos End If به محلی که برای بارگذاری داده ها مشخص کردذم دقت کنید. «موفق باشید.» ممنون امین جان تغییرات انجام شد و باز نیاز شد تغییراتی دیگه بدم چون مشکل داره که تغییراتی دادم..... اما مشکلی که هست هنگام اسکرول سریع، اسکرول روی پوزیشن ثابت میشه که جالب نیست.. و به آخرای لیست که میرسه اون پنج شیش تای آخری اونجا اسکرول مثله چسب میشه! که وقتی اسکرول میشه یکم یکم میره پایین!! خلاصه ممنون از راهنماییهات اگه راهی میدونستی که بگو لطفا...اگرم نه که تاپیک فک کنم رو به قفلی میره... خودمم سعی میکنم ببینم چی میشه...اگه تونستم همینجا کد نهایی رو میزارم... باز هم تشکر موفق باشید. لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
امین مهدی نژاد 2,142 ارسال شده در 13 آذر، ۱۳۹۵ اشتراک گذاری ارسال شده در 13 آذر، ۱۳۹۵ خب اگر به آخر برسه و دیتابیس چیزی نداشته باشه که نشون بده نباس با یه شرط اینو چک کنید تا در یک تکرار نامتناهی گرفتار نشید. یه متغیر بساز از نوع بولی قبل از اجرای کد زیر مقدارش رو با if چک کن If Scroll1.ScrollPosition + Scroll1.Height > Scroll1.Panel.Height-600 Then Dim pos As Int=Scroll1.ScrollPosition 'اینجا هم برای 'بارگذار داده ها Scroll1.ScrollPosition=pos End If خب هر گاه دیتابیس چیزی برای نمایش نداشت. مقدارش رو false کن البته من از همین روش برای یکی از مشتری هام استفاده کردم و یه if دیگه هم جهت اطمینان از یک بار اجرا شدن بارگذاری در هر مرحله استفاده کردم. خیلی خوب و روان شده بود. به هرحال سعی کنید روند اجرای کدی که می نویسید رو از قبل بررسی کنید تا دچار مشکل کمتری بشید. «موفق باشید.» لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
سوال
HS71 78
با سلام
،
طبق دو تا تاپیک که یکیش اینه:
میخوام قبله اینکه اسکرول به انتها برسه لود بشه پنل ها تا وقفه ای ایجاد نشه با این کد:
If Scroll.ScrollPosition + Scroll1.Height = Scroll1.Panel.Height Then
اما تمام کارهایی که تو تاپیک بود رو کردم + منفی، مثبت، درصد، دیپ، و جابجا کردم کدهارو اما بازم فایده نداشت لطفا اگه راه حلی داره بگید لطفا.
لینک ارسال
به اشتراک گذاری در سایت های دیگر
8 پاسخ به این سوال تاکنون داده شده است
ارسالهای توصیه شده
بایگانی شده
این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.