PDA

View Full Version : سوال: نمایش یک پیام برای چند ثانیه



vahid271
چهارشنبه 19 آبان 1389, 11:32 صبح
سلام دوستان...
من میخوام یه پیام رو چند ثانیه نمایش بدم و بعد خودش بره و برای این کار کارهای زیر رو کردم ولی درست نمیشه!!!
من گذاشتم وقتی یک کلید زده میشه و کارشو انجام میده بعد تموم شدن کارش یه Panel رو نشون بده (visible=true;) و یه تایمر هم به فرمم اضافه کردم و توی رویداد تیک تایمر نوشتم که panel رو مخفی کنه(visible=false;)...
حالا نمیدونم باید چیکار کنم؟
میشه یکی از مهندسای خوب به طور دقیق توضیح بده که دقیقا باید چیکار کنم؟!
ممنونم

ایمان مدائنی
چهارشنبه 19 آبان 1389, 11:37 صبح
ميشه كدهاتو كامل بزاري تا ببينيم مشكل كجاست ؟

طبیب دل
چهارشنبه 19 آبان 1389, 11:38 صبح
منظورت اینه که پنل بلافاصله false میشه؟

vahid271
چهارشنبه 19 آبان 1389, 11:47 صبح
منظورت اینه که پنل بلافاصله false میشه؟

آره...
من رویداد تیک تایمر رو بعد از اینکه پنل رو نشون میدم گذاشتم و اونقدر سریع مخفی میشه که اصلا دیده نمیشه!!!مشکلش کجاس؟ممنونم

vahid271
چهارشنبه 19 آبان 1389, 11:48 صبح
ميشه كدهاتو كامل بزاري تا ببينيم مشكل كجاست ؟

کد خاصی نیست آقا ایمان!!!
ولی همونطور که گفتم خیلی سریع مخفی میشه!!!

راستی اقا ایمان نمیدونم دوستان مدیر برای چی تایپیک دیروزمو(برنامه تحت شبکه) حذف کردن!!!اگه میشه لطف کنید مطالبی که میخواستین بگین و اون مقاله ای که گفتین رو اینجا بگین و یا به میلم بفرستین ممنونم...
vahid1418@yahoo.com

ایمان مدائنی
چهارشنبه 19 آبان 1389, 11:52 صبح
خب بايد تايمر رو تنظيم كني
خاصيت interval رو زياد كن
http://www.barnamenevis.org/forum/attachment.php?attachmentid=59984&d=1289379221
هر 1000 تاش ميشه 1 ثانيه

vahid271
چهارشنبه 19 آبان 1389, 12:03 عصر
خب بايد تايمر رو تنظيم كني
خاصيت interval رو زياد كن
http://www.barnamenevis.org/forum/attachment.php?attachmentid=59984&d=1289379221
هر 1000 تاش ميشه 1 ثانيه

این کارو کردم ولی فایده نداشت!!!
ببین مراحل کار من اینطوریه:
از ToolBox یه Timer به فرمم اضافه کردم و بعد توی رویداد تیک این تایمر نوشتم:

panel1.visible=true;و توی رویداد کلیک یه کلید هم نوشتم:

panel1.visible = false;
timer1_Tick(null,null);ولی کار نمیکنه!!!

hi level hdd
چهارشنبه 19 آبان 1389, 12:03 عصر
دوست عزیز
خاصیت visible فقط دارای دو حالت هستش و حد وسط هم ندارد
می تونی پیغامتو در یک فرم نشون بدی و opacity اون فرم را که یه عدد double کم کنی با یه تایمر
یا اگه تو همین فرم می خوای ، توی یه panel بذار و مقدار alpha برای background رو کم کن .یه عدد بین 0 تا 255

طبیب دل
چهارشنبه 19 آبان 1389, 12:12 عصر
یه متغیر تعریف کن از نوع int برای شمردن


int counter;

بعد تو رویداد tick بنویس


counter++;
if (counter == 5)
{
panel1.visible=false;
timer1.Enabled = false;

}

بعد از 5 ثانیه پنل false میشه
فکر کنم جواب بده

طبیب دل
چهارشنبه 19 آبان 1389, 12:17 عصر
این کارو کردم ولی فایده نداشت!!!
ببین مراحل کار من اینطوریه:
از ToolBox یه Timer به فرمم اضافه کردم و بعد توی رویداد تیک این تایمر نوشتم:

panel1.visible=true;و توی رویداد کلیک یه کلید هم نوشتم:

panel1.visible = false;
timer1_Tick(null,null);ولی کار نمیکنه!!!
تو رویداد کلیک کلید بنویس


panel1.visible=false;
timer1.enabled=false;

vahid271
چهارشنبه 19 آبان 1389, 12:22 عصر
دوست عزیز
خاصیت visible فقط دارای دو حالت هستش و حد وسط هم ندارد
می تونی پیغامتو در یک فرم نشون بدی و opacity اون فرم را که یه عدد double کم کنی با یه تایمر
یا اگه تو همین فرم می خوای ، توی یه panel بذار و مقدار alpha برای background رو کم کن .یه عدد بین 0 تا 255

ولی قاعدتا باید با تایمر بهتر و راحت تر باشه یا نه؟!!!

ایمان مدائنی
چهارشنبه 19 آبان 1389, 13:00 عصر
در اين روشي كه دوستمون گفت هم از تايمر استفاده شده