2009-07-17 5 views
0

Avoir un léger problème sur C#, encore assez nouveau pour la langue, mais en espérant que vous pouvez aider. J'ai un programme qui crée dynamiquement des formulaires à onglets, puis j'essaye d'ajouter des contrôles au tabform (les zones de texte et les étiquettes), mais peu importe ce que j'essaie, ça ne semble pas vouloir fonctionner. Voici le code que je suis actuellement en utilisant (juste pour obtenir un champ de saisie dans chaque forme):C# ajouter dynamiquement du texte à tabcontrol

int i = dogresults; 
while (i > 0) 
{ 
    i--; 
    DataRow dogrow = ds1.Tables["confirmdogs"].Rows[i]; 
    string dogname = dogrow.ItemArray.GetValue(3).ToString(); 
    TabPage newpage = new TabPage(dogname); 
    tcNewCustomer.TabPages.Add(dogname); 

    TextBox tb1 = new TextBox(); 
    tb1.Location = new Point(20, 10); 
    newpage.Controls.Add(tb1); 
    tb1.Name = "txtDogNo" + i; 
} 

Toute aide serait grandement appréciée!

+0

S'il vous plaît voir le modifier à ma réponse - c'est une simple petite faute de frappe :) –

Répondre

1

EDIT: Doh! Je l'ai!

Vous n'allez pas ajouter le nouveau TabPage que vous créez. Cette ligne:

tcNewCustomer.TabPages.Add(dogname); 

devrait ressembler à ceci: (. Une petite application de test montre les pages de l'onglet en cours de création sans zones de texte avec la première version, mais avec la deuxième version fonctionne bien)

tcNewCustomer.TabPages.Add(newpage); 

Cela semble correct d'un coup d'oeil (bien que je ne l'ai pas essayé - un programme de démonstration court mais complet aiderait). Quand vous dites «ça ne semble pas vouloir marcher», que se passe-t-il exactement?

Avez-vous essayé de déplacer l'emplacement un peu? Je sais que certains contrôles sont bizarres en termes d'où leur «top» logique est (c'est-à-dire, ce n'est pas le premier pixel visible).

+0

Comme je suppose que vous avez supposé, il n'est tout simplement pas visible. J'ai essayé de déplacer les coordonnées x, y à l'intérieur du point de localisation, mais toujours rien. –

+0

D'accord, je vais essayer de le reproduire. –

+0

Oh mon Dieu, quelle erreur idiote! Merci beaucoup :) –

0

Qu'en est-il de la définition du texte dans la zone de texte? Actuellement, vous définissez simplement le nom ...

Bien que j'attende toujours que vous voyiez une bordure sur la boîte + la couleur d'arrière-plan en supposant que cela diffère de l'arrière-plan de la page.

+0

Juste donné qu'un essai mais il n'est toujours pas visible –

Questions connexes