2015-08-26 2 views
-3

Je veux la valeur d'un nombre variable Nombre de zone de texte Je l'obtiens. exempleComment est la zone de texte de sélection numéro un de la zone de texte

textbox1 textbox4 
textbox2 textbox5 
textbox3 textbox6 
int e = int .parse(textbox1.text); 
string w = textbox+(e); 
+0

exciuse moi je ne peux pas écrire anglais bien –

+0

Pouvez-vous s'il vous plaît expliquer plus clairement. Voulez-vous obtenir la valeur d'une zone de texte dans une variable entière puis de cette variable entière dans une autre variable de chaîne + un autre texte de zone de texte? – Bauss

+0

Je pense que vous voulez la réflexion - jetez un oeil à http://stackoverflow.com/questions/1293549/string-to-variable-name – Matt

Répondre

0

Vous pouvez utiliser la méthode Control.ControlCollection.Find:

public void SetBackColor(string controlName) 
{ 
    var controls = this.Controls.Find(controlName, true); 
    var control = controls.FirstOrDefault(); 
    if (control != null) 
    { 
     var textBox = (TextBox)control; 
     textBox.BackColor = Color.Bisque; // some stuff with finded textbox. 
    } 
} 

et de l'utiliser de cette façon:

SetBackColor("TextBox" + int.Parse(textbox1.Text)); 
+0

merci dimitry et artem cher, vous undrestand comment je veux. mais je ne peux pas utiliser cela. Je vais changer backcolor textoxt où le numéro dans textbox1. ("textbox" + int.parse (textbox1.text)). bachcolor = color.blue –

+0

Donc. Qu'est-ce qu'un problème? Vous avez le textBox et pouvez travailler avec lui comme d'habitude. J'ai mis à jour en réponse avec le changement de backcolor. –

+0

je le ferai si textbox1 = 15, textbox15.backcolor = color.black. –

1

solution de réflexion:

using System.Reflection; 
... 
FieldInfo fi = this 
    .GetType() 
    .GetField("textbox" + textbox1.Text, BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance); 

if (fi != null) { 
    TextBox result = fi.GetValue(this) as TextBox; 
    ... 
} 
+0

merci dimitry et artem chérie, vous undrestand comment je veux. mais je ne peux pas utiliser cela. je vais changer backcolor textboxt où numéro dans textbox1. ("textbox" + int.parse (textbox1.text)). bachcolor = color.blue –