PDA

View Full Version : دستور foreach



myazdani
پنج شنبه 23 تیر 1390, 17:39 عصر
سلام
دوستان من ميخوام با دستور foreach خصوصيت enable يه سري تكست باكس رو كه داخل كنترل تب قرار دارن رو false كنم

اين كد رو نوشتم ولي خطا داره


foreach(textbox t in tabcontrol1.controls)
t.enabled=false;

ahmad-65
پنج شنبه 23 تیر 1390, 17:52 عصر
سلام دوست عزيز. راه حلش استفاده از كد زيره :


foreach (TextBox t in tabControl1.SelectedTab.Controls)
t.Enabled = false;

myazdani
پنج شنبه 23 تیر 1390, 18:01 عصر
سلام دوست عزيز. راه حلش استفاده از كد زيره :


foreach (TextBox t in tabControl1.SelectedTab.Controls)
t.Enabled = false;

با تشكر از ahmad-65
مشكل قبلي رفع شد ولي اگر داخل كنترل تب كنترلي به جز تكست باكس داشته باشيم مثلا باتن هم داشته باشيم خطا ميده ميگه نميتونه باتن رو تبديل به تكست باكس كنه
ممنونم

Salar Ashgi
پنج شنبه 23 تیر 1390, 18:25 عصر
این کد رو تست کنید :


foreach (Control ct in tabControl1.SelectedTab.Controls)
{
if (ct.GetType() == typeof(TextBox))
{
ct.Enabled = false;
}
}


موفق باشید ./

myazdani
یک شنبه 26 تیر 1390, 21:21 عصر
این کد رو تست کنید :


foreach (Control ct in tabControl1.SelectedTab.Controls)
{
if (ct.GetType() == typeof(TextBox))
{
ct.Enabled = false;
}
}


موفق باشید ./

از راهنمايي تون ممنون
ولي من ميخوام تمام تكست باكسها تو تمام تبها رو غبر فعال كنم اين كد فقط تكست باكسهاي تب اول رو كه تب انتخاب شده است غير فعال مي كنه. به عبارت بهتر من ميخوام تو رويداد فرم لود حلقه foreach ي بنويسم كه تمام تكست باكسهاي تمام تبهاي كنترل تب را غير فعال كنه.
متشكرم

Farshid007
یک شنبه 26 تیر 1390, 22:00 عصر
یافتم یافتم:
foreach (TabPage tab in this.tabControl1.TabPages)
{

foreach (Control clt in tab.Controls)
{
if (clt is TextBox)
clt.Enabled = false;

}


}

Farshid007
یک شنبه 26 تیر 1390, 22:01 عصر
این راه می تونه بره تو همه کنترل های همه پیج های tabControl1 و هر چی تکست باکس هستو غیر فعال می کنه:
حل بید؟؟؟؟؟

myazdani
یک شنبه 26 تیر 1390, 22:20 عصر
عالي بود
مشكلم حل شد
كارتون درسته :تشویق:

Farshid007
یک شنبه 26 تیر 1390, 22:39 عصر
خواهش می کنم وظیفه است:چشمک: