PDA

View Full Version : سوال: ریست کردن متن تمام تکست باکس های روی فرم



moferferi
چهارشنبه 08 مهر 1388, 20:08 عصر
سلام .برای ریست کردن متن تمام تکست باکس ها از کد زیر استفاده میکنم ولی خطا میده.باید کد را به چچه شکلی تغییر بدم.

foreach (TextBox tx in this.Controls)
{
tx.ResetText()
}


پیغام خطا

Unable to cast object of type 'System.Windows.Forms.Button' to type 'System.Windows.Forms.TextBox'.

alireza_s_84
چهارشنبه 08 مهر 1388, 21:53 عصر
دوست عزیز اینجوری بنویسید


foreach (Control ctl in this.Controls)
{
if (ctl.GetType() == typeof(TextBox))
{
((TextBox)ctl).Clear();
}
}


موفق باشید

hamid.shekasteh
چهارشنبه 08 مهر 1388, 21:57 عصر
از کر زیر استفاده کنید :



public void ClearTextBoxs()
{
foreach (Control txt in this.Controls)
{
if (txt.GetType().Name == "TextBox")
txt.Text = "";
}


}

nasser_ray
چهارشنبه 08 مهر 1388, 23:19 عصر
سلام
با تشکر از دوستان بخاطر کدش
اینم یه تابع بازشگتی برای ریست textbox


private void ResetText(Control cntrl)
{
for (int i = 0; i < cntrl.Controls.Count; i++)
{
if (cntrl.Controls[i].GetType() == typeof(TextBox))
cntrl.Controls[i].ResetText();
if (cntrl.Controls[i].Controls.Count > 0)
ResetText(cntrl.Controls[i]);
}
}

روش استفاده:
برای ریست کل textbox های فرم


ResetText(this);

برای ریست textbox های یک بخش مثل groupbox1


ResetText(groupbox1);

موفق باشید