Por ejemplo

txtUnitTotalQty.Text = "";   
txtPrice.Text = "";
txtUnitPrice.Text = "";
lblTotalvalue.Text = "";

A algo como

(txtUnitTotalQty, txtPrice, txtUnitPrice, lblTotalvalue).Text = "";
c#
7
Polamin Singhasuwich 27 ene. 2016 a las 11:45

4 respuestas

La mejor respuesta

Puedes hacerlo así:

txtUnitTotalQty.Text = txtPrice.Text = txtUnitPrice.Text = lblTotalvalue.Text = string.Empty;

O podrías escribir un método para ello:

public void SetText(params TextBox[] controls, string text)
{
    foreach(var ctrl in controls)
    {
        ctrl.Text = text;
    }
}

El uso de esto sería:

SetText(txtUnitTotalQty, txtPrice, txtUnitPrice, lblTotalvalue, string.Empty);
10
Simon Karlsson 27 ene. 2016 a las 08:56

Puedes hacer algo como esto:

foreach (var txt in new[] { txtUnitTotalQty, txtPrice, txtUnitPrice, lblTotalValue} )
{
    txt.Text = "";
}
1
Ross Presser 27 ene. 2016 a las 08:50

Como .Text es una propiedad de la clase base común Control, puede iterar sobre una lista:

new List<Control> { txtUnitTotalQty, txtPrice, txtUnitPrice, lblTotalvalue }.ForEach(c => c.Text = "");
3
Richard 27 ene. 2016 a las 08:50

Otra forma posible de escribir lo mismo con una función más pequeña es

void ClearAllText(Control con)
{
    foreach (Control c in con.Controls)
    {
      if (c is TextBox)
         ((TextBox)c).Clear();
    }
}
1
Mohit Shrivastava 27 ene. 2016 a las 08:56