PDA

View Full Version : سوال: fade in و fade out یک picturebox در سی شارپ



barman.ar16
پنج شنبه 19 اسفند 1395, 12:03 عصر
سلام به اساتید بزرگوار
من در فرم اصلی برنامه ام یک picturebox دارم که درونش یک عکس گذاشتم به شکل یک tab bar که بیشتر در اندروید داریمش
درون این پیکچر باکس به تعداد دکمه هام عکس گذاشتم که هر کدوم با توجه به موقعیت مکانی و انتخاب دکمه رنگه زمینه اش عوض میشه

خب برای اینکار به تعداد دکمه هام محدوده دکمه رو با پیکچر باکس های خالی پر کردم و کاربر وقتی روی محدوده دکمه کلیک می کنه این کد رو ها رو تکرار میکنم و پیکچرباکس مورد نظر رو فراخوانی می کنم ... این کد :
pictureBox1.BackgroundImage = Properties.Resources.Img1;

این کار به راحتی انجام میشه و مشکل خاصی نیست و حتی میشه گفت جالب هم شده از این روش جاهایی دیگه هم استفاده کردم مثل تغییر تم کل صفحه اصلی برنامه

حالا سوالم اینه که میشه کاری کرد که وقتی روی محدوده دکمه مورد نظر کلیک شد به جایی اینکه با یه حالت خشکی و بدون روحی که عکس داخل پیکچر باکس عوض میشه با یک کدی پیکچر باکس رو یه لحظه Fade out کرد و بعد سریع Fade in بشه تا کار قشنگتر و نرم تر صورت بگیره

در واقع به عبارت ساده تر من میخوام با یک تایمر کاری کنم که یک پیکچر باکس در یک لحظه fade out و بعد دوباره fade in بشه

خودم خیلی جستجو کردم متاسفانه بیشتر گمراه شدم تا به نتیجه برسم
منتظر نظرات ارزشمند شما دوستان و اساتید هستم ممنون و متشکرم

Mahmoud.Afrad
جمعه 20 اسفند 1395, 19:50 عصر
کلاسی به پروژه اضافه و از PictureBox ارث بری کنید.
یک متغیر برای عکس جدید در نظر بگیرید.
پراپرتی Image را دوباره نویسی کنید.
حداقل یک تایمر نیاز دارید. در این تایمر میزان Opacity عکس را تغییر داده و نمایش بدید. (در مورد تغییر opacity جستجو کنید).
در اتمام FadeOut اگر تصویر جدید وجود داشت بایست تصویرجدید را FadeIn کنید.

تا هر جا نوشتید کد بزارید و مشکلتون رو بیان کنید.

barman.ar16
شنبه 21 اسفند 1395, 09:43 صبح
کلاسی به پروژه اضافه و از PictureBox ارث بری کنید.
یک متغیر برای عکس جدید در نظر بگیرید.
پراپرتی Image را دوباره نویسی کنید.
حداقل یک تایمر نیاز دارید. در این تایمر میزان Opacity عکس را تغییر داده و نمایش بدید. (در مورد تغییر opacity جستجو کنید).
در اتمام FadeOut اگر تصویر جدید وجود داشت بایست تصویرجدید را FadeIn کنید.

تا هر جا نوشتید کد بزارید و مشکلتون رو بیان کنید.

ممنون از شما استاد عزیز

چشم تلاشم رو می کنم و هر جا گیر کردم دوباره مزاحم میشم ، متشکرم