PDA

View Full Version : مدیریت چندین کنترل با هم



babak23
سه شنبه 04 دی 1386, 13:29 عصر
سلام
چطور میشه چندین کنترل در داخل یک فرم و یا یک گروپ باکس را مدیریت کرد
مثلا چطور میتوان محتویات چندین تکست باکس داخل یک گروپ باکس را پاک کرد ؟:متفکر:

sinpin
سه شنبه 04 دی 1386, 13:31 عصر
سلام
چطور میشه چندین کنترل در داخل یک فرم و یا یک گروپ باکس را مدیریت کرد
مثلا چطور میتوان محتویات چندین تکست باکس داخل یک گروپ باکس را پاک کرد ؟:متفکر:

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

mohammad272005
چهارشنبه 05 دی 1386, 00:45 صبح
TextBox textBox;
foreach(Control control in groupBox1.Controls)
{
if((textBox = control as TextBox) != null)
textBox.Text = "";
}

MH2538
چهارشنبه 05 دی 1386, 07:31 صبح
علاوه بر روش Mohammad از این هم می‌تونی استفاده کنی. البته در مجموع هر دو از یک روش استفاده می‌کنن.


foreach (Control txt in groupBox1.Controls)
{

if (txt.GetType().ToString() == "System.Windows.Forms.TextBox")
txt.Text = "";
}

sinpin
چهارشنبه 05 دی 1386, 08:50 صبح
علاوه بر روش Mohammad از این هم می‌تونی استفاده کنی. البته در مجموع هر دو از یک روش استفاده می‌کنن.


foreach (Control txt in groupBox1.Controls)
{

if (txt.GetType().ToString() == "System.Windows.Forms.TextBox")
txt.Text = "";
}


به جای خط bold شده میتونید بنویسید :


if (txt is TextBox)

babak23
چهارشنبه 05 دی 1386, 13:24 عصر
ممنون از راهنمایی
مشکل اینجاست که من از چند گروپ باکس در داخل هم استفاده کردم که متاسفانه این کد جواب نمیده?

mohammad272005
جمعه 07 دی 1386, 01:26 صبح
delegatevoidSetTextDel(Control parent);
privatevoid button1_Click(object sender, EventArgs e)
{
SetTextDel setTest = null;
setTest = delegate(Control control)
{
foreach (Control thisControl in control.Controls)
{
if (thisControl isTextBox)
thisControl.Text = "";
elseif (thisControl isGroupBox)
setTest(thisControl);
}
};
setTest(this);
}

scorpion_man
جمعه 07 دی 1386, 12:10 عصر
با سلام به همه دوستان
از متد typeof استفاده کن


for each MyControl as TextBox in GroupBox.Controls
if TypeOf(MyControl) is TextBox then
MyControl.Text=""
end if
next

موفق باشید

scorpion_man
جمعه 07 دی 1386, 12:14 عصر
با سلام دوباره برای مشکل بعدی هم میتونید همین دستورات رو که بالا دوستان نوشتن هر کدومو خواستید تو یه ّFunction بریزید و به صورت بازگشتی استفاده کنید با این کار میتونید GroupBox های تو در تو رو هم بگردید
موفق باشید