PDA

View Full Version : سوال: پاک کردن خاصیت Text گروهی از کنترل Textbox



seniamail
شنبه 12 مرداد 1387, 12:16 عصر
آيا مي توان به کليه Textbox هاي موجود بر روي يک فرم ، يک مقدار خاص داد؟ (در محيط سي شارپ)

Masiha1986
شنبه 12 مرداد 1387, 12:35 عصر
با سلام
شما می تونید این کار رو با دستور foreach ای که توی کنترل های یک فرم می گرده انجام بدید. به این صورت:



foreach (Control ctrl in this.Controls)
{
if (ctrl.GetType() == typeof(TextBox))
{
((TextBox)ctrl).Text = "Mohammad Chavoshi";
}
}
این کد هم برای زمانیه که TextBox های شما درون یک و یا چند Container مانند GroupBox قرار دارند:



private void btnSetText_Click(object sender, EventArgs e)
{
this.SetTextBoxValue(this);
}

private void SetTextBoxValue(Control control)
{
foreach (Control ctl in control.Controls)
{
if (ctl.Controls.Count == 0)
{
if (ctl.GetType() == typeof(TextBox))
{
((TextBox)ctl).Text = "Mohammad Chavoshi";
}
}
else
{
this.SetTextBoxValue(ctl);
}
}
}

Salar Ashgi
شنبه 12 مرداد 1387, 15:03 عصر
با سلام خدمت دوست گرامی :

کد اول و بهینه تر :



foreach (Control c in this.Controls)
{
if (c is TextBox)
c.Text = "My Text";
}


کد دوم :



foreach (Control c in this.Controls)
{
if (c.GetType().ToString() == "System.Windows.Forms.TextBox")
c.Text = "My Text";
}


موفق باشید