PDA

View Full Version : سوال: حلقه foreach



sayan
جمعه 01 مرداد 1389, 16:19 عصر
سلام دوستان
من توی یک فرم چندتا کنترل TextBox دارم میخواهم در یک متد با استفاده از حلقه Foreach محتوای این کنترل ها را برابر مقدار خالی بگذارم کسی میتواند راهنمایم کند.
با تشکر.

حجتی نیا
جمعه 01 مرداد 1389, 16:26 عصر
سلام دوستان
من توی یک فرم چندتا کنترل TextBox دارم میخواهم در یک متد با استفاده از حلقه Foreach محتوای این کنترل ها را برابر مقدار خالی بگذارم کسی میتواند راهنمایم کند.
با تشکر.


control c1;
foreach(control c2 in this.form1)
{
c1=c2;
if(c1 is textbox)
textbox.text="";
}

ricky22
جمعه 01 مرداد 1389, 16:30 عصر
public ClearConent(Control parent)
foreach(Control ctl in parent.Controls)
{
//clear contained controls
if (ctlControls.Count > 0) ClearConent(ctl);

if(ctl is Textbox) ((TextBox)ctl).Text = string.Empty;


}

پست بالای کار می کنه؟!

Peyman.Gh
جمعه 01 مرداد 1389, 16:33 عصر
foreach(Control txt in this.Controls)
{
if(txt.GetType()==typeof(TextBox))
((TextBox)txt).Text="";
}

ACorvinus
جمعه 01 مرداد 1389, 16:35 عصر
سلام.

یه تابع برات نوشتم که میتونی هر Container رو براش بفرستی تا برات Clear کنه:

private void button1_Click(object sender, EventArgs e)
{
ClearTextBoxs(this);
}

void ClearTextBoxs(object Countainer)
{
foreach (Control ctrl in ((Control)Countainer).Controls)
{
if (ctrl is TextBox)
{
((TextBox)ctrl).Text = string.Empty;
}
if (ctrl is GroupBox || ctrl is Panel)
{
ClearTextBoxs(ctrl);
}
}
}

برای مثال خودم در رویداد کلیک، یه فرم رو براش فرستادم.
موفق باشی.