2016-01-27 4 views
7

Per esempioÈ possibile eseguire il controllo multiplo, ma lo stesso metodo in C#

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

a qualcosa di simile

(txtUnitTotalQty, txtPrice, txtUnitPrice, lblTotalvalue).Text = ""; 
+0

È anche possibile scrivere un metodo per accettare i controlli come matrice e valore param, impostare i valori di tutti gli array param in quella funzione. – Anil

+1

Per favore, pensa di accettare la risposta per ringraziare le persone che passano il tempo per aiutarti:) –

+1

@Fabien OK grazie per avermi ricordato –

risposta

9

si può fare in questo modo:

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

Oppure si potrebbe scrivere un metodo per questo:

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

L'uso di questo sarebbe:

SetText(txtUnitTotalQty, txtPrice, txtUnitPrice, lblTotalvalue, string.Empty); 
+0

Grazie mille !!!! –

1

Un altro modo possibile scrivere la stessa cosa con una funzione più piccolo è

void ClearAllText(Control con) 
{ 
    foreach (Control c in con.Controls) 
    { 
     if (c is TextBox) 
     ((TextBox)c).Clear(); 
    } 
} 
+0

il tuo codice eseguirà una chiamata ricorsiva infinita se il controllo non è una casella di testo .... – Viru

+0

Grazie per la cattura. Ho cambiato il codice. –

1

si può fare qualcosa di simile:

foreach (var txt in new[] { txtUnitTotalQty, txtPrice, txtUnitPrice, lblTotalValue}) 
{ 
    txt.Text = ""; 
} 
+2

Poiché i controlli sono di tipo diverso, 'new []' non sarà in grado di selezionare automaticamente un tipo per l'array, quindi è necessario pronunciare esplicitamente 'new Control [] {...}' – Richard

3

Poiché .Text è una proprietà del controllo della classe base comune, puoi scorrere su un elenco:

new List<Control> { txtUnitTotalQty, txtPrice, txtUnitPrice, lblTotalvalue }.ForEach(c => c.Text = ""); 
+0

OMG GRAZIE PER NUOVA CONOSCENZA –

Problemi correlati