PDA

View Full Version : سوال: show&hide کردن Lableهای فرم



Bahar_HS
دوشنبه 13 تیر 1390, 18:50 عصر
با سلام
روی فرم چند تاLable هست که همشون Hide هستند،بنابرروند برنامه،هر بار،یکی از Lable ها showشده،برای 2ثانیه به کاربر نشون داده میشه و بعد hide میشه،برنامه رو برای یک Lableخاص و با یک تایمر می تونم بنویسم، اما می خوام برنامه رو در حالت کلی بنویسم،یه تابع که Lable رو به عنوان پارامتر می گیره و طبق روند گفته شده show&hide می کنه،چطور میشه این کار رو کرد؟

Esmail Solhkhah
دوشنبه 13 تیر 1390, 18:57 عصر
private void SetLabelVisible(Label lbl, bool Visible)
{
lbl.Visible = Visible;
}

Esmail Solhkhah
دوشنبه 13 تیر 1390, 18:58 عصر
نحوه استفاده


private void button1_Click(object sender, EventArgs e)
{
SetLabelVisible(label1, true);
}

system32
دوشنبه 13 تیر 1390, 19:15 عصر
سلام این کد را در رویداد تیک تایمرت بنویس:


foreach (Control VP_ctrl_X in Form1.ActiveForm.Controls)
{
if (VP_ctrl_X is Label && VP_ctrl_X.Visible == true)
{
VP_ctrl_X.Visible = false;
}
else
{
VP_ctrl_X.Visible = true;
}
}

Bahar_HS
چهارشنبه 15 تیر 1390, 09:22 صبح
با سلام
ممنون از راهنمایی دوستان،
شاید چون از اصطلاحاتshow&hide استفاده کردم دوستان تصور کردند من با visiable.false/visiable.true آشنایی ندارم ،
قرار نیست فقط Lable ها show بشن یا همشون با همshowبشن،روند برنامه این طوریه:
ترتیب show شدن Lableها در هر بار اجرای برنامه متفاوته،نوبت Lable مورد نظر که بشه باید showبشه،برای 2 ثانیهنشون داده بشه و سپس hideبشه،و من می خوام در قالب یه تابع این کار انجام بشه و گر نه میشه به ازای هر Lable یه تایمر به برنامه اضافه کنم که هرLable با تایمر خودش کار کنه،ولی می خوام یه تابع بهینه تر بنویسم که Lable رو به عنوان یکی از پارامترهاش بگیره،showکنه،2ثانیه صبر کنه و بعد همونLable را hide کنه.